program matrica;
uses crt;
var
n, i, j, k, l, m, max: integer;
a: array [1 .. 20, 1 .. 20] of integer;
b, c: array [1 .. 38] of integer;
begin
clrscr;
write('n=');
readln(n);
randomize;
Writeln('Ishodnaja matrica:');
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := random(10);
write(a[i, j]:3);
end;
Writeln;
end;
readln;
for l := 1 to n - 1 do // считаем суммы диагоналей выше главной
begin
for i := 1 to n - 1 do
begin
for j := 2 to n do
if j = i + l then
begin
b[l] := b[l] + a[i, j]; // заносим их в массив
end;
end;
end;
for l := 1 to n - 1 do // считаем суммы в диагоналях ниже главной
begin
for i := 2 to n do
begin
for j := 1 to n - 1 do
if j = i - l then
begin
c[l] := c[l] + a[i, j]; // записываем их в массив
end;
end;
end;
for i := n to 2 * n - 2 do // собираем два массива в один
b[i] := c[i - n + 1];
max := b[1];
for i := 2 to n do
if b[i] > max then
max := b[i]; // находим максимум
Writeln('max=', max);
readln;
end.