Pascal:Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов....

0 голосов
100 просмотров

Pascal:
Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Найти суммы отрицательных элементов каждого столбца.


Информатика (348 баллов) | 100 просмотров
Дан 1 ответ
0 голосов

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.

(1.6k баллов)
0

Не компилит.

0

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.

0

По условию нужно было посчитать не строки, а столбцы. Я поправил:

0

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.

0

Измените решение, я отмечу ответ. Ибо с поисковиков если другие придут, то неправильное решение напишут.

0

Кстати говоря, это тоже неправильное. Там могут быть и положительные элементы, а увас решение только под отрицательные. Изменил.

0

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.

0

Что бы считалась сумма отрицательных элементов в каждом столбце, нужно обнулить сумму (s:=0) в цикле по j ! "Исправлятели!"

0

Лол? То, что я кинул выше - исправно работает, не знаю, что ты там собрался обнулять)