Найти максимальный и минимальный элементы на главной диагонали матрицы, и поменять эти строки местами - PascalABC.NET
Формулировка задачи:
При помощи случайных чисел вести матрицу размером 15х15 . Найти максимальный и минимальный элементы на главной диагонали , и поменять эти строки местами . Вывести на экран исходную матрицу ,минимальный и максимальный элементы и матрицу после перестановки
Решение задачи: «Найти максимальный и минимальный элементы на главной диагонали матрицы, и поменять эти строки местами»
textual
Листинг программы
const
n = 15;
var
a: array[1..n, 1..n] of integer;
i, j, t, min, max: integer;
begin
writeln('ÈñõîäГ*Г*Гї Г¬Г*òðèöГ*:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(999)+1;
write(a[i,j]:4);
end;
writeln;
end;
min:=1; max:=1;
for i:=2 to n do
begin
if a[i,i]<a[min,min] then min:=i;
if a[i,i]>a[max,max] then max:=i;
end;
writeln('ГЊГЁГ*ГЁГ¬Г*ëüГ*îå ГЈГ«Г*ГўГ*îé äèГ*ГЈГ®Г*Г*ëè = a[',min,',',min,'] = ',a[min,min]);
writeln('ГЊГ*ГЄГ±ГЁГ¬Г*ëüГ*îå ГЈГ«Г*ГўГ*îé äèГ*ГЈГ®Г*Г*ëè = a[',max,',',max,'] = ',a[max,max]);
if min = max then writeln('ГЊГЁГ*ГЁГ¬Г*ëüГ*îå ГЁ Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*îå - Г*Г* îäГ*îé ñòðîêå')
else for j:=1 to n do
begin
t:=a[min,j];
a[min,j]:=a[max,j];
a[max,j]:=t;
end;
writeln('ÏðåîáðГ*çîâГ*Г*Г*Г*Гї Г¬Г*òðèöГ*:');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
readln;
end.
Объяснение кода листинга программы
- В начале программы объявляются переменные:
- n - размерность матрицы (15);
- a - массив для хранения элементов матрицы;
- i, j, t, min, max - вспомогательные переменные для выполнения задачи.
- Заполнение матрицы случайными числами от 1 до 999.
- Нахождение минимального и максимального элементов на главной диагонали матрицы.
- Вывод на экран значений минимального и максимального элементов.
- Если min = max, то выводится сообщение о том, что главная диагональ является зеркальной (симметричной).
- В противном случае выполняется перестановка строк матрицы a[min,:] и a[max,:] местами.
- Вывод на экран обновленной матрицы.
- Ввод от пользователя (для корректного завершения работы программы).