var
a: array [1 .. 100, 1 .. 100] of integer;
N, M, i, j: integer;
begin
write('N, M -> ');
readln(N, M); { считываем размер матрицы }
write('Input matrix -> ');
for i := 1 to N do
for j := 1 to M do
begin
write('A[', i, ',', j, '] -> ');
readln(a[i, j]);
end; { считываем саму матрицу }
readln;
writeln('Главная диагональ');
for i := 1 to N do
begin
write(a[i, i], ' ');
{ вы можете не только просто выводить элементы, но и работать с ними. Достаточно знать индексацию нужных элементов }
end;
writeln;
writeln('Побочная диагональ');
for i := 1 to N do
begin
write(a[i, N - i + 1], ' ');
end;
writeln;
writeln('Ниже главной');
for i := 2 to N do
for j := 1 to i - 1 do
begin
write(a[i, j], ' ');
end;
writeln;
writeln('Выше главной');
for i := 1 to N - 1 do
for j := i + 1 to N do
begin
write(a[i, j], ' ');
end;
writeln;
writeln('Выше побочной');
for i := 1 to N - 1 do
for j := 1 to N - i do
begin
write(a[i, j], ' ');
end;
writeln;
writeln('Ниже побочной');
for i := 2 to N do
for j := N - i + 2 to N do
begin
write(a[i, j], ' ');
end;
writeln;
readln;
end.