Для откладки программы элементы массива сформировать с помощью генератора случайных чисел.
program PascalGuru;
var
A: array [1 .. 100, 1 .. 100] of integer;
vector: array [1 .. 100] of integer;
n, i, j, m: integer;
procedure min(n: integer; var nv: integer);
{ процедура выводящая суммы/ nv=кол-ко сумм диагоналей }
var
i, j, p, pk, sum, index, sumarno: integer;
{ нужные переменные для вычисления }
ot: array [1 .. 100] of integer;
begin
pk := 1;
sumarno := 0; { обнуляем переменную ОБЩЕЙ суммы по всем диагоналям }
for i := 1 to 100 do
if i mod 2 = 0 then
begin
inc(pk);
ot[pk] := i;
end; { вычисляем номера диагоналей }
index := 0; { обнуляем переменную индексов диагоналей }
for p := 1 to ot[n] + 1 do { цикл номеров диагоналей }
begin
sum := 0; { обнуляем переменную суммы текущей диагонали }
for i := 1 to n do
for j := 1 to n do
if i + j - 1 = p then
sum := sum + A[i, j]; { вычисляем сумму текущей диагонали }
inc(index); { +1 переменной индексов диагоналей }
vector[index] := sum; { записываем сумму в вектор }
sumarno := sumarno + sum;
{ увеличиваем переменную ОБЩЕЙ суммы по всем диагоналям - на текущ. сумму }
writeln('Summa "', index, '" paralelinoi p.diagonali= ', sum);
{ текущ. сумму выводим на экран }
end;
writeln;
writeln('Summa vsex diagonalei= ', sumarno);
{ выводим на экран результат ОБЩЕЙ суммы по всем диагоналям }
nv := index;
end;
{ *********************///*************************** }
begin
randomize;
write('N= ');
readln(n); { ввод размера матрицы }
for i := 1 to n do
for j := 1 to n do
A[i, j] := (-3) + random(9); { заполнение элементов матрицы }
for i := 1 to n do
begin
writeln;
for j := 1 to n do
write(A[i, j]:8);
end; { вывод матрицы на экран }
writeln;
writeln;
min(n, m); { ***вызов процедуры, выводящей суммы*** }
writeln;
writeln('Vector iz summ:');;
for i := 1 to m do
write(vector[i]:8); { вывод вектора из сумм диагоналей }
readln;
end.