Составить программу на pascal ! дана целочисленная квадратная матрица a(n,n). просматривая её элементы в заданном порядке, найдите первый чётный элемент и поменяйте его местами с диагональным элементом той строки, в которой он находится. порядок про-смотра: справа налево и снизу вверх.
Label
BbIXOD, BBODN;
Var
A:array[1..19,1..19] of shortint;
i,j,N,t:integer;
Begin
Randomize;
BBODN:
Write('N = ');ReadLn(N);
ClrScr;
if (N <= 0)or(N > 19) then GOTO BBODN;
t:= 700 div N;
For i:= 1 to N do
Begin
For j:= 1 to N do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:3,' ')
End;
WriteLn;
End;
Delay(300);
For i:= N downto 1 do
Begin
For j:= N downto 1 do
Begin
if (j < N) then
Begin
GotoXY(j*4+1,i);
TextBackground(0);
Write(A[i,j+1]:3,' ');
GotoXY(1,N+1);
End;
TextBackground(2);
GotoXY(j*4-3,i);
Write(A[i,j]:3,' ');
Delay(t);
if A[i,j] mod 2 = 0 then
Begin
Delay(700);
if i <> j then
Begin
TextBackground(12);
GotoXY(j*4-3,i);
Write(A[i,j]:3,' ');
Delay(700);
TextBackground(14);
GotoXY(i*4-3,i);
Write(A[i,i]:3,' ');
Delay(700);
t:=A[i,j];
A[i,j]:=A[i,i];
A[i,i]:=t;
TextBackground(14);
GotoXY(j*4-3,i);
Write(A[i,j]:3,' ');
TextBackground(12);
GotoXY(i*4-3,i);
Write(A[i,i]:3,' ');
Delay(700);
TextBackground(0);
GotoXY(j*4-3,i);
Write(A[i,j]:3,' ');
TextBackground(2);
GotoXY(i*4-3,i);
Write(A[i,i]:3,' ');
End;
t:=-1;
GOTO BbIXOD;
End
End;
GotoXY(1,i);
TextBackground(0);
Write(A[i,j]:3,' ')
End;
BbIXOD:
TextBackground(0);
GotoXY(1,N+1);
if t >= 0 then WriteLn('Чётных элементов не обнаружено');
WriteLn('Для повторного ввода N нажмите 0');
WriteLn('Для выхода - любую другую клавишу');
if ReadKey = '0' then
Begin
ClrScr;
GOTO BBODN;
End
End.