Определить номер строки в которой расположен максимальный элемент третьего столбца массива - Pascal
Формулировка задачи:
Дан двумерный массив целых чисел a из n строк и m столбцов. Требуется определить номер строки в которой расположен максимальный элемент третьего столбца массива. Если таких элементов несколько, должен быть определён самый нижний из них
Решение задачи: «Определить номер строки в которой расположен максимальный элемент третьего столбца массива»
textual
Листинг программы
var
a: Array[Byte, Byte] Of ShortInt;
i, j, n, m, iMax: Byte;
begin
Randomize;
repeat
Write('Input nn(>0): ');
ReadLn(n);
until (n > 0);
repeat
Write('Input mm(>2): ');
ReadLn(m);
until (m > 2);
WriteLn('AA:');
for i := 0 to n - 1 do
begin
for j := 0 to m - 1 do
begin
a[i, j] := Random(199) - 99;
Write(a[i, j]:4);
end;
WriteLn;
end;
iMax := n - 1;
for i := n - 2 downto 0 do
if (a[i, 2] > a[iMax, 2])
then
iMax := i;
WriteLn('AA[', iMax + 1, '][3]=', a[iMax, 2]);
end.
Объяснение кода листинга программы
- Объявляется переменная
aкак двумерный массив байтов, где каждый элемент массива имеет тип данных ShortInt. - Объявляются переменные
i, j, n, m, iMaxкак байты. - Выполняется инициализация генератора случайных чисел.
- Выполняется цикл с постусловием, в котором запрашивается ввод значения переменной
nдо тех пор, пока n не будет больше 0. - Выполняется цикл с постусловием, в котором запрашивается ввод значения переменной
mдо тех пор, пока m не будет больше 2. - Выводится текст
AA:. - Выполняется вложенный цикл, в котором каждый элемент массива
aинициализируется случайным числом в диапазоне от -99 до 99, после чего выводится значение элемента массива. - Повторяется шаг 7 до тех пор, пока все элементы массива не будут инициализированы и выведены.
- Присваивается переменной
iMaxзначениеn - 1. - Выполняется цикл с шагом в обратном направлении, в котором для каждого значения
iотn - 2до 0 проверяется условие: еслиa[i, 2]больше, чемa[iMax, 2], тоiMaxполучает значениеi. - Выводится строка, содержащая информацию о индексе строки и значении элемента массива
a[iMax, 2].