Исправте пожалуйста задачу на языке pascal !!
Пусть дана символьная квадратная матрица размерности n. Напечатайте элементы матрицы, лежащие на ее главной диагонали, если все они отличны от соответствующих элементов побочной диагонали. Если условие не выполняется, то напечатайте элементы побочной диагонали данной матрицы. В задаче использовать множества .
Исправте пожалуйста, я уже и не знаю что с ней делать ((
Program dflh ;
const n=5;
type matriks=array[1..n,1..n] of char;
var
a:matriks;
k,l,i,j:integer;
m:char;
procedure init(var a:matriks);
var i,j:integer;
begin
randomize;
for i:=1 to n do
for j:=1 to n do
a[i,j]:=chr (-33+random(33));
end;
procedure print(a:matriks);
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;
writeln;
end;
procedure glavn(a:matriks);
var i:integer;
begin
for i:=1 to n do
write(a[i,i]:3);
end;
procedure pob(a:matriks);
var i,j:integer;
begin
i:=0;
for j:=n downto 1 do begin
inc(i);
write(a[i,j]:3);
end;
end;
begin
init(a);
print(a);
if a[i,i]<>a[i,j] then
begin
write('Главная диагональ');
glavn(a);
writeln;
end
else
write('Побочная диагональ');
pob(a);
writeln;
end.