Переставить местами элементы главной и побочной диагонали матрицы - Free Pascal
Формулировка задачи:
Задана матрица 6x6. Переставить местами элементы главной и побочной диагонали. Выяснить, верно ли, что наибольшее из значений элементов главной диагонали больше, чем наименьшее из значений элементов побочной диагонали.
Решение задачи: «Переставить местами элементы главной и побочной диагонали матрицы»
textual
Листинг программы
program ideone;
uses crt;
var matrix:array [1..6, 1..6] of integer;
i, j, max, min, temp:integer;
begin
clrscr;
randomize();
max:=-MAXINT;
min:=MAXINT;
for i:=1 to 6 do
begin
for j:=1 to 6 do
begin
matrix[i, j]:=random(26)+1;
write(matrix[i, j]:3);
if i=j then
begin
if matrix[i, j]>max then
begin
max:=matrix[i, j];
end;
end;
if i+j=7 then
begin
if matrix[i, j]<min then
min:=matrix[i, j];
end;
end;
temp:=matrix[i, i];
matrix[i, i]:=matrix[i, 7-i];
matrix[i, 7-i]:=temp;
writeln();
end;
writeln();
for i:=1 to 6 do
begin
for j:=1 to 6 do
write(matrix[i, j]:3);
writeln;
end;
writeln();
if max<min then
writeln('Max<min.')
else
writeln('Max>min.');
readln();
end.
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- Создается массив matrix размером 6x6 для хранения чисел.
- Инициализируются переменные i, j, max, min, temp.
- Заполняется массив matrix случайными числами от 1 до 26 с помощью функции random(26)+1.
- Находится максимальное и минимальное значение в главной диагонали матрицы (используя переменные max и min).
- Если максимальное значение в главной диагонали больше минимального, то переставляются местами элементы главной и побочной диагонали (используя временную переменную temp).
- Выводится матрица на экран.
- Выводится сообщение, указывающее, является ли максимальное значение меньше минимального или нет.
- Программа ожидает ввода пользователя, чтобы он мог увидеть результат.