Вопрос № 30648: Здраствуйте.
Подскажите алгоритм решения задачи:
Дана квадратная матрица. Нужно определить какие строки являются возрастающими или убывающими?...
Вопрос № 30.648
Здраствуйте.
Подскажите алгоритм решения задачи:
Дана квадратная матрица. Нужно определить какие строки являются возрастающими или убывающими?
Отправлен: 02.12.2005, 19:08
Вопрос задал: korsar (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Vitava
Здравствуйте, korsar!
var n : Integer; // размерность матрицы
i,j, max, min : Integer;
M : array[1..n,1..n] of Integer;
begin
for i:=1 to n do begin
min := A[i,j];
max := A[i,j];
for j:=2 to n do begin
if (A[i,j] > max) then begin
max := A[i,j];
end;
if (A[i,j] < min) then begin
min := A[i,j];
end;
end;
if (max = A[i,n]) then write('Row', i, ' - Upper Row'); // возрастающая строка
if (min = A[i,n]) then write('Row', i, ' - Down Row'); // убывающая строка
end
Суть алгоритма в том, чтобы проверить от первого элемента до последнего
возрастают или убывают элементы. Считаем, что первый элемент ряда есть min или max, а делее сравниваем их со следующим элементов.
Если max или min является последним в строке, то значит мы дошли до конца и строка либо возрастаюдщая либо убывающая.
Удачи вам.
Ответ отправил: Vitava (статус: 5-ый класс)
Отправлен: 03.12.2005, 00:27
Отвечает: sir henry
Здравствуйте, korsar!
Перебор построчно и проверка каждой строки, сравнивая между собой соседние значения.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 03.12.2005, 06:54
Отвечает: Schmak
Здравствуйте, korsar!
Пример решения приведён в приложении. Тут стои уточнить лишь то, что в данном примере под убывающей строкой подразумевается невозрастающая, а под возрастающей не убывающая. Т.е например строка 1 1 2 будет считаться возрастающе1. Если же вам надо, чтобы такая строка считалась несортированной, то замените a[i,1]*=a[i,2] на a[i,1]*a[i,2], где * соответственно > и <
Приложение:
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 03.12.2005, 11:10