Дошла до общей суммы диагоналей и все ступор. Что делаю не так? подскажите и, по возможности, исправьте.
program z_3;
type mas=array[1..100, 1..100] of integer;
Var
A,B,C : mas;
sa,sb,sc: integer;
sum:real;
procedure sm(VAR A:mas; Var s:integer);
Var
i,j,n,m,k: integer;
Begin
writeln('Введем размеры двумерного массива:');
write(' Количество строк: '); readln(n);
write(' Количество столбцов: '); readln(m);
writeln('Заполним массив:');
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
writeln; sum:=0;
k:=1;
for j:=1 to m do sum:=sum+a[k,j];
writeln('Сумма 1-го столбца равна ', sum);
writeln; sum:=0;
writeln('Сумму элементов какой диагонали необходимо найти:');
write('Диагональ слева-направо- 1, справа-налево - 2: '); readln(k);
if(k=1)then
begin
j:=1;
for i:=1 to n do
begin
sum:=sum+a[i,j];
j:=j+1;
end;
end;
if(k=2)then
begin
j:=m;
for i:=n downto 1 do
begin
sum:=sum+a[i,j];
j:=j-1;
end;
end;
writeln('Сумма равна ',sum);
end;
Begin
sm(A, sa );
sm(B, sb);
sm(C, sc);
begin
sum:=0;
sum:=sa+sb+sc;
writeln ( 'сумма диогоналей 3х массивов =' , sum:8:2);
end;
end.