Предмет: Информатика, автор: Аноним

Помогите решить.
Для каждого столбца подсчитать сумму отрицательных элементов и записать данные в новый массив.(PascalABC)
Не получается нормально сделать нужна ваша помощь!
const N=30;
var
a:array[1..n] of integer;
s,null,h,i:integer;
begin
h:=0;
for i:=1 to n do
begin
a[i]:=-10+random(21);
write(a[i]:4);
end;
for i:=1 to n do
begin
if a[i]<0 then inc(h);
end;
writeln;
writeln('Количество отрицательных элементов= ',h);
end.


AnonimusPro: У вас в задании написано "для каждого столбца". Это значит, что массив двумерный, т.е матрица. Ваша же программа использует одномерный массив. И причем здесь количество, когда нужно найти сумму?

Ответы

Автор ответа: AnonimusPro
1

const n=4; m=5;

var a: array[1..n,1..m] of integer;

b: array[1..m] of integer;

i,j,s: integer;

begin

s:=0;

randomize;

writeln('матрица:');

for i:=1 to n do begin

for j:=1 to m do begin

a[i,j]:=random(19)-9;

write(a[i,j],' ');

end;

writeln;

end;

for j:=1 to m do begin

for i:=1 to n do  if(a[i,j]<0) then s:=s+a[i,j];

b[j]:=s;

s:=0;

end;

write('полученный массив: ');

for j:=1 to m do write(b[j],' ');

end.

Похожие вопросы
Предмет: Алгебра, автор: bodsheva
Предмет: Информатика, автор: ivanmisaa
Предмет: Математика, автор: рома971