Найти наименьший элемент побочной диагонали матрицы - Turbo Pascal
Формулировка задачи:
Дан двухмерный массив. Найти наименьший элемент побочной диагонали и наименьший элемент ниже побочной диагонали с указанием их индексов. Создать новый массив, в котором найденные элементы поменяются местами.
Решение задачи: «Найти наименьший элемент побочной диагонали матрицы»
textual
Листинг программы
program poisk; uses crt; type mas=array[1..100,1..100] of integer; var a:mas; i,j,n,i_i,j_j,i_i2,j_j2,min,min2:integer; begin clrscr; write('n='); readln(n); for i:=1 to n do begin for j:=1 to n do begin write('a[',i,' ',j,']='); read(a[i,j]); end; writeln; end; min:=a[1,n]; for i:=1 to n do for j:=1 to n do if (j+i=n+1) and (a[i,j]<min) then begin min:=a[i,j]; i_i:=i; j_j:=j; end; min2:=a[2,n]; for i:=1 to n do for j:=1 to n do if not (i+j<=n+1) and (a[i,j]<min2) then begin min2:=a[i,j]; i_i2:=i; j_j2:=j; end; for i:=1 to n do for j;=1 to n do begin if (i+j=n+1) and (i_i=i) and (j_j=j) then a[i,j]:=min2; if not (i+j<=n+1) and (i=i_i2) and (j=j_j2) then a[i,j]:=min; end; for i:=1 to n do for j;=1 to n do write('a[',i,' ',j,']=',a[i,j]); end.
Объяснение кода листинга программы
- Создается программа под названием
poisk
. - В программе используется библиотека crt.
- Определяется тип данных
mas
, который представляет собой массив целых чисел размером 100x100. - Создается переменная
a
типаmas
. - Запускается цикл, который считывает размеры матрицы от пользователя.
- Внутри цикла выводятся значения каждого элемента матрицы.
- Переменная
min
инициализируется значением первого элемента матрицы. - Затем выполняется цикл, который ищет наименьший элемент на побочной диагонали матрицы.
- Если найден элемент с меньшим значением, чем
min
, то обновляется значениеmin
и сохраняются координаты этого элемента. - После завершения внутреннего цикла, выполняется еще один внешний цикл, который обновляет значения элементов матрицы в соответствии с результатами предыдущего внутреннего цикла.
- В конце программы выводится значение переменной
min
, которое представляет собой наименьший элемент побочной диагонали матрицы.