var
a:array[1..5,1..5] of integer;
i,j,s:integer;
begin
writeln('matriza:');
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
a[i,j]:=random(20)-10;
write(a[i,j]:4);
end;
writeln;
end;
for j:=1 to 5 do
begin
s:=0;
for i:=1 to 5 do
begin
if a[i,j]<0 then a[i,j]:=abs(a[i,j]);
s:=s+a[i,j];
end;
writeln('symma stolbca ',j,' = ',s);
end;
end.
и
varРазница в том, что в первой мы изменяем сами элементы массива, а во второй присваиваем некой переменной k значение этого элемента массива. Почесу же втроая программа выдает неправильный резельтат (ответ выводится неверный)?
a:array[1..5,1..5] of integer;
i,j,s,k:integer;
begin
writeln('matriza:');
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
a[i,j]:=random(20)-10;
write(a[i,j]:4);
end;
writeln;
end;
for j:=1 to 5 do
begin
s:=0;
for i:=1 to 5 do
begin
if a[i,j]<0 then k:=abs(a[i,j]);
s:=s+k;
end;
writeln('symma stolbca ',j,' = ',s);
end;
end.