Вывести минимальный элемент, сумма индексов которых нечётная(двумерный массив) - Pascal ABC
Формулировка задачи:
Не могу чего то разобраться в массивах вовсе(.Вот набросок моей "процедурки":
Решение задачи: «Вывести минимальный элемент, сумма индексов которых нечётная(двумерный массив)»
textual
Листинг программы
Type mas = array[1..20,1..20]of integer; procedure vvod(var m,n:integer; var x:mas); var i,j:integer; begin write('введите количество строк и столбцов: '); readln(m,n); for i:=1 to m do for j:=1 to n do begin write('введите элемент [',i,',',j,']='); readln(x[i,j]); end; end; procedure vivod(m,n:integer; x:mas); var i,j:integer; begin for i:=1 to m do begin for j:=1 to n do write(x[i,j]:4); writeln; end; end; procedure min(m,n:integer;x:mas); var i,j,mn:integer; begin mn:=x[1,2];//первый с нечетной сумммой индексов for i:=1 to m do for j:=1 to n do if ((i+j) mod 2<>0)and(x[i,j]<mn) then mn:=x[i,j]; writeln('min=', mn) end; var a:mas; m,n:integer; begin vvod(m,n,a); vivod(m,n,a); min(m,n,a); end.
Объяснение кода листинга программы
- Создается тип данных
mas
, представляющий двумерный массив целых чисел размером от 1 до 20 в каждой из двух координат. - Создается процедура
vvod
, которая запрашивает у пользователя количество строк и столбцов массива, а затем считывает сами значения массива. - Создается процедура
vivod
, которая выводит значения массива в формате строки. - Создается процедура
min
, которая находит минимальный элемент массива, сумма индексов которого нечетная. Для этого она инициализирует переменнуюmn
значением первого элемента массива (x[1,2]
), затем проходит по всем элементам массива и обновляетmn
, если текущий элемент меньшеmn
и его сумма индексов нечетная. В конце процедуры выводится значениеmn
. - Создается переменная
a
типаmas
, которая будет использоваться для хранения массива. - Вызываются процедуры
vvod
,vivod
иmin
с аргументамиm
,n
иa
.