Const m=5; var a:array[1..m,1..m] of integer; i,j,s:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to m do begin for j:=1 to m do begin a[i,j]:=random(50); write(a[i,j]:4); end; writeln; end; s:=0; for i:=1 to m do s:=s+a[i,i]+a[i,m-i+1]; if m mod 2 <> 0 then s:=s-a[m div 2+1,m div 2+1]; writeln('s = ',s); end.
Answers & Comments
Verified answer
Const m=5;var
a:array[1..m,1..m] of integer;
i,j,s:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to m do
begin
for j:=1 to m do
begin
a[i,j]:=random(50);
write(a[i,j]:4);
end;
writeln;
end;
s:=0;
for i:=1 to m do
s:=s+a[i,i]+a[i,m-i+1];
if m mod 2 <> 0 then s:=s-a[m div 2+1,m div 2+1];
writeln('s = ',s);
end.
Пример:
Исходный массив:
2 46 45 10 11
9 17 8 24 46
35 7 14 11 7
19 40 46 28 2
9 29 48 38 4
s = 149
Блок-схема - в прилагаемом файле (в схеме средний элемент матрицы при нечетном M будет учитываться дважды).