Найти наибольший элемент матрицы и поменять его местами с элементом, стоящим на пересечении диагоналей - Pascal
Формулировка задачи:
Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент и поменять его местами с элементом, стоящим на пересечении диагоналей
Решение задачи: «Найти наибольший элемент матрицы и поменять его местами с элементом, стоящим на пересечении диагоналей»
textual
Листинг программы
uses crt; const nmax=50; var mas:array[1..nmax,1..nmax] of real; i,j,n,imx,jmx:integer; buf,max:real; begin clrscr; repeat write('n='); readln(n); until odd(n); for i:=1 to n do for j:=1 to n do begin write('mas[',i,',',j,']='); readln(mas[i,j]); end; clrscr; writeln('Матрица до перестановки:'); for i:=1 to n do begin for j:=1 to n do write(mas[i,j]:5:1); writeln; end; max:=mas[1,1]; imx:=1; jmx:=1; for i:=1 to n do for j:=1 to n do if mas[i,j]>max then begin max:=mas[i,j]; imx:=i; jmx:=j; end; writeln('Наибольший элемент в матрице:',max:5:1); buf:=max; mas[imx,jmx]:=mas[n div 2+1,n div 2+1]; mas[n div 2+1,n div 2+1]:=buf; writeln('Матрица после перестановки:'); for i:=1 to n do begin for j:=1 to n do write(mas[i,j]:5:1); writeln; end; readln end.
Объяснение кода листинга программы
- Объявление переменных:
- mas: массив для хранения элементов матрицы
- i, j, n, imx, jmx: целочисленные переменные для обозначения индексов ячеек матрицы
- buf, max: переменные для хранения временных значений
- Ввод размера матрицы (n) с помощью цикла repeat-until и функции odd
- Заполнение матрицы с помощью двух вложенных циклов for и функции readln
- Вывод содержимого матрицы до перестановки с помощью цикла for и функции write
- Поиск наибольшего элемента в матрице с помощью двух вложенных циклов for и условного оператора if. При нахождении большего элемента, обновляются значения переменных max, imx и jmx.
- Вывод наибольшего элемента матрицы с помощью функции write
- Обмен значениями наибольшего элемента и элемента, стоящего на пересечении диагоналей с помощью присваивания и использования временной переменной buf
- Вывод содержимого матрицы после перестановки с помощью цикла for и функции write
- Ввод для завершения работы программы с помощью функции readln
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д