Нфлрматика программирование паскаль Паскаль: Дана массив А(7,7). Найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей.
program Main; const N = 7; type Matrix = array[1..N, 1..N] of integer; var A: Matrix; i, j, maxElem: integer; begin // Ввод массива A(7,7) for i := 1 to N do for j := 1 to N do begin write('A[', i, ',', j, ']: '); readln(A[i, j]); end;
// Находим максимальный элемент на главной и побочной диагоналях maxElem := A[1, 1]; for i := 2 to N do if A[i, i] > maxElem then maxElem := A[i, i];
for i := 1 to N do if A[i, N - i + 1] > maxElem then maxElem := A[i, N - i + 1];
// Меняем местами максимальный элемент и элемент на пересечении диагоналей for i := 1 to N do for j := 1 to N do if (i = j) or (i = N - j + 1) then begin if A[i, j] = maxElem then begin A[i, j] := A[N - i + 1, i]; A[N - i + 1, i] := maxElem; end; end;
// Вывод измененного массива writeln('Измененный массив:'); for i := 1 to N do begin for j := 1 to N do write(A[i, j], ' '); writeln; end; end.
program Main;
const
N = 7;
type
Matrix = array[1..N, 1..N] of integer;
var
A: Matrix;
i, j, maxElem: integer;
begin
// Ввод массива A(7,7)
for i := 1 to N do
for j := 1 to N do
begin
write('A[', i, ',', j, ']: ');
readln(A[i, j]);
end;
// Находим максимальный элемент на главной и побочной диагоналях
maxElem := A[1, 1];
for i := 2 to N do
if A[i, i] > maxElem then
maxElem := A[i, i];
for i := 1 to N do
if A[i, N - i + 1] > maxElem then
maxElem := A[i, N - i + 1];
// Меняем местами максимальный элемент и элемент на пересечении диагоналей
for i := 1 to N do
for j := 1 to N do
if (i = j) or (i = N - j + 1) then
begin
if A[i, j] = maxElem then
begin
A[i, j] := A[N - i + 1, i];
A[N - i + 1, i] := maxElem;
end;
end;
// Вывод измененного массива
writeln('Измененный массив:');
for i := 1 to N do
begin
for j := 1 to N do
write(A[i, j], ' ');
writeln;
end;
end.