Программа работает, но нужно еще найти максимальный элемент исходной матрицы на главной и побочной диагоналях, через функции, чтобы выводило "исходная матрица" : 'максимальный элемент (число) на (главной/побочной) диагонали.
program proceduri8;
type mas= array[1..11,1..11] of integer;
var b,i,j,k,n: integer;fl1,fl2:boolean;a1,b1:mas;
function poisk1(dd:mas):boolean;
var fl1:boolean;i,j:integer;
begin
fl1:=false;
for i:=1 to n do
if (dd[i,i]=0)=true then
fl1:= true;
poisk1:=fl1;
end;
function poisk2(cc:mas):boolean;
var fl2:boolean;i,j:integer;
begin
fl2:=false;
for i:=1 to n do
if (cc[i,i]=0)=true then
fl2:= true;
poisk2:=fl2;
end;
procedure sort1(var a:mas);
var i,k,j,b:integer;
begin
for i:=1 to n do
for k:=1 to n-1 do
for j:=1 to n-1 do
if (a[i,j]>a[i,j+1])=true then
begin
b:=a[i,j];a[i,j]:=a[i,j+1];a[i,j+1]:=b
end;
end;
procedure sort2(var a:mas);
var i,k,j,b:integer;
begin
for i:=1 to n do
for k:=1 to n-1 do
for j:=n-i+1 to 1 do
if (a[i+1,n-i]>a[i,n-i+1])=true then
begin
b:=a[i,n-i+1];a[i,n-i+1]:=a[i+1,n-i];a[i+1,n-i]:=b;
end;
end;
procedure vyvod(a:mas);
var i,j:integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3); writeln;
end;
end;
procedure sort3(var a,b:mas);
var i,j:integer;
begin
for i:=1 to n do
for j:=n downto 1 do
b[i,n+1-j]:=a[j,i];
end;
begin
fl1:=false;
fl2:=false;
n:=11;
for i:=1 to n do
for j:=1 to n do
a1[i,j]:=random(100);
writeln('Исходный массив:');
vyvod(a1);
writeln;
fl1:=poisk1(a1);
if fl1=true then begin
sort1(a1);
writeln('Преобразованный массив:');
vyvod(a1);
writeln; end;
poisk2(a1);
if fl2=true then begin
sort2(a1);
vyvod(a1);
writeln;end;
if (fl2 and fl1)=false then begin
sort3(a1,b1);
writeln('Конечный массив a1:');
vyvod(a1);
writeln;
writeln('Конечный массив b1:');
vyvod(b1); end;
end.
Помогите пожалуйста