Найти наибольший элемент матрицы и поменять его местами с элементом, стоящим на пересечении диагоналей - 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.

Объяснение кода листинга программы

  1. Объявление переменных:
    • mas: массив для хранения элементов матрицы
    • i, j, n, imx, jmx: целочисленные переменные для обозначения индексов ячеек матрицы
    • buf, max: переменные для хранения временных значений
  2. Ввод размера матрицы (n) с помощью цикла repeat-until и функции odd
  3. Заполнение матрицы с помощью двух вложенных циклов for и функции readln
  4. Вывод содержимого матрицы до перестановки с помощью цикла for и функции write
  5. Поиск наибольшего элемента в матрице с помощью двух вложенных циклов for и условного оператора if. При нахождении большего элемента, обновляются значения переменных max, imx и jmx.
  6. Вывод наибольшего элемента матрицы с помощью функции write
  7. Обмен значениями наибольшего элемента и элемента, стоящего на пересечении диагоналей с помощью присваивания и использования временной переменной buf
  8. Вывод содержимого матрицы после перестановки с помощью цикла for и функции write
  9. Ввод для завершения работы программы с помощью функции readln

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы