Pascal: Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Найти суммы отрицательных элементов каждого столбца.
Answers & Comments
ychilkati
Const n=10 ; m=10; var A: array [1..n,1..m] of integer; s, i, j: integer; begin randomize; for i:= 1 to n do begin for j:= 1 to m do begin A[i,j]:= -100 + random (100); write (A[i,j]: 5); end; writeln; end; for i:= 1 to n do begin s:=0; for j:= 1 to m do if A[i,j] < 0 then s:=s+A[i,j]; writeln('s ',i,' столбца=' , s); end; end.
ychilkati
const n=10; m=10; var A: array [1..n,1..m] of integer; s, i, j: integer; begin randomize; for i:= 1 to n do begin for j:= 1 to m do begin A[i,j]:= -100 + random (100); write (A[i,j]: 5); end; writeln; end; for i:= 1 to n do begin s:=0; for j:= 1 to m do if A[i,j] < 0 then s:=s+A[i,j]; writeln('s ',i,' строки=' , s); end; end.
jaffrey
По условию нужно было посчитать не строки, а столбцы. Я поправил:
jaffrey
const n=10; m=10; var A: array [1..n,1..m] of integer; s, i, j: integer; begin randomize; for i:= 1 to n do begin for j:= 1 to m do begin A[i,j]:= -100 + random (100); write (A[i,j]: 5); end; writeln; end; for i:= 1 to n do begin s:=0; for j:= 1 to m do if A[j,i] < 0 then s:=s+A[j,i]; Writeln; writeln('Cумма ',i,' столбца:',' ',s); end; end.
jaffrey
Измените решение, я отмечу ответ. Ибо с поисковиков если другие придут, то неправильное решение напишут.
jaffrey
Кстати говоря, это тоже неправильное. Там могут быть и положительные элементы, а увас решение только под отрицательные. Изменил.
jaffrey
const n=10; m=10; var A: array [1..n,1..m] of integer; s, i, j: integer; begin randomize; for i:= 1 to n do begin for j:= 1 to m do begin A[i,j]:= random(100) - random (100); write (A[i,j]: 5); end; writeln; end; for i:= 1 to n do begin s:=0; for j:= 1 to m do if A[j,i] < 0 then s:=s+A[j,i]; Writeln; writeln('Cумма ',i,' столбца:',' ',s); end; end.
ychilkati
Что бы считалась сумма отрицательных элементов в каждом столбце, нужно обнулить сумму (s:=0) в цикле по j ! "Исправлятели!"
jaffrey
Лол? То, что я кинул выше - исправно работает, не знаю, что ты там собрался обнулять)
Answers & Comments
var A: array [1..n,1..m] of integer;
s, i, j: integer;
begin
randomize;
for i:= 1 to n do
begin
for j:= 1 to m do
begin
A[i,j]:= -100 + random (100);
write (A[i,j]: 5);
end;
writeln;
end;
for i:= 1 to n do
begin
s:=0;
for j:= 1 to m do
if A[i,j] < 0 then s:=s+A[i,j];
writeln('s ',i,' столбца=' , s);
end;
end.
m=10;
var A: array [1..n,1..m] of integer;
s, i, j: integer;
begin
randomize;
for i:= 1 to n do
begin
for j:= 1 to m do
begin
A[i,j]:= -100 + random (100);
write (A[i,j]: 5);
end;
writeln;
end;
for i:= 1 to n do
begin
s:=0;
for j:= 1 to m do
if A[i,j] < 0 then s:=s+A[i,j];
writeln('s ',i,' строки=' , s);
end;
end.
m=10;
var A: array [1..n,1..m] of integer;
s, i, j: integer;
begin
randomize;
for i:= 1 to n do
begin
for j:= 1 to m do
begin
A[i,j]:= -100 + random (100);
write (A[i,j]: 5);
end;
writeln;
end;
for i:= 1 to n do
begin
s:=0;
for j:= 1 to m do
if A[j,i] < 0 then s:=s+A[j,i];
Writeln;
writeln('Cумма ',i,' столбца:',' ',s);
end;
end.
m=10;
var A: array [1..n,1..m] of integer;
s, i, j: integer;
begin
randomize;
for i:= 1 to n do
begin
for j:= 1 to m do
begin
A[i,j]:= random(100) - random (100);
write (A[i,j]: 5);
end;
writeln;
end;
for i:= 1 to n do
begin
s:=0;
for j:= 1 to m do
if A[j,i] < 0 then s:=s+A[j,i];
Writeln;
writeln('Cумма ',i,' столбца:',' ',s);
end;
end.