Найти наибольший элемент массива и поменять местами столбец и строку с элементом - Pascal
Формулировка задачи:
Создать квадратный целочисленный массив. В подпрограмме найти наибольший элемент массива и поменять местами столбец и строку с этим элементом.
Решение задачи: «Найти наибольший элемент массива и поменять местами столбец и строку с элементом»
textual
Листинг программы
const n=5; var a:array[1..n,1..n] of integer; k,i,j,im,jm:integer; begin im:=1; jm:=1; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(100); Write(a[i,j]:5); if (a[i,j]>a[im,jm]) Then begin im:=i; jm:=j; end; end; writeln; end; writeln; for i:=1 to n do begin k:=a[im,i]; a[im,i]:=a[i,jm]; a[i,jm]:=k; end; for i:=1 to n do begin for j:=1 to n do Write(a[i,j]:5); writeln; end; writeln; Writeln('Не проверяла.'); readln; end.
Объяснение кода листинга программы
- В первой строке объявляются переменные n и a. Переменная n инициализируется значением 5. Переменная a объявляется как массив целых чисел размером от 1 до n включительно.
- Далее идет цикл for, который выполняется n раз. Внутри цикла идет еще один цикл for, который также выполняется n раз. Внутри второго цикла происходит заполнение массива a случайными числами от 1 до 100.
- После окончания второго цикла выводится значение каждого элемента массива a с помощью функции Write.
- Затем происходит сравнение значений элементов массива a. Если текущий элемент больше следующего, то значения меняются местами с помощью конструкций if и else if.
- После завершения первого цикла происходит перестановка местми значениями, которые были в текущей и следующей строках массива.
- Затем выводится содержимое массива a с помощью функции Write.
- После этого происходит второй цикл for, который повторяется n раз. Внутри цикла происходит обмен значениями строк и столбцов массива a с помощью конструкций if и else if.
- После завершения второго цикла выводится содержимое массива a с помощью функции Write.
- В конце программы выводится сообщение 'Не проверяла.' и происходит чтение строки с помощью функции readln.