Дан двумерный массив. Найти наибольший чётный положительный элемент выше главной диагонали и наименьший отрицательный элемент ниже главной диагонали с указанием их индексов. Создать новый массив, в котором найденный элементы поменяются местами
program PascalGuru;
var
A: array [1 .. 50, 1 .. 50] of integer;
i, j, n: integer;
max, min: integer;
maxi, maxj, mini, minj: integer;
{ ------------------------------------ }
procedure exchange(var A, b: integer);
var
c: integer;
begin
c := A;
A := b;
b := c;
end;
{ ------------------------------------ }
begin
write('razmer matricy N= ');
readln(n);
{ writeln ('Vvedite elementy massiva: '); }
for i := 1 to n do
for j := 1 to n do
A[i, j] := -5 + random(26); { begin
write ('X[',i,',',j,']='); readln (A[i,j]); end; }
write('Vot vvedennyy vami massiv: ');
for i := 1 to n do
begin
writeln;
for j := 1 to n do
write(A[i, j]:8);
end;
{ ----------------начало преобразования-------------------- }
{ ***max }
for i := 1 to n do
for j := 1 to n do
if i < j then
if (A[i, j] > 0) and (A[i, j] mod 2 = 0) then
begin
maxi := i;
maxj := j;
max := A[i, j];
break;
end;
for i := 1 to n do
for j := 1 to n do
if i < j then
if (A[i, j] > 0) and (A[i, j] mod 2 = 0) then
if A[i, j] > max then
begin
maxi := i;
maxj := j;
max := A[i, j];
end;
{ ***min }
for i := 1 to n do
for j := 1 to n do
if i > j then
if A[i, j] < 0 then
begin
mini := i;
minj := j;
min := A[i, j];
break;
end;
exchange(A[maxi, maxj], A[mini, minj]);
{ ----------------конец преобразования--------------------- }
writeln;
writeln;
write('Vot preobrazovannyi massiv: ');
for i := 1 to n do
begin
writeln;
for j := 1 to n do
write(A[i, j]:8);
end;
readln;
end.