Дана целочисленная прямоугольная матрица. Найти сумму элементов тех столбцов, которые содержат хотя бы один отрицательный элемент.
Примечание: Размеры массивов задаются именованными константами. Значения элементов массивов вводятся с клавиатуры, генерируются случайным образом или инициализируются в программе (значения по умолчанию). Способ задания элементов массива выбирается пользователем. Все операции над массивами выполняются отдельными функциями.
Answers & Comments
Verified answer
//Pascal ABC.NET 3.1 сборка 1219Const
n=3; m=4;
Var
ma:array[1..n,1..m] of integer;
arsub:array[1..m] of boolean;
i,j,s:integer;
begin
randomize;
writeln('Matrix:');
for i:=1 to n do
begin
for j:=1 to m do
begin
ma[i,j]:=random(-2,10);
write(ma[i,j]:4);
if ma[i,j]<0 then arsub[j]:=true;
end;
writeln;
end;
for j:=1 to m do
if arsub[j]=true then
for i:=1 to n do
s:=s+ma[i,j];
writeln('Res=',s);
end.
Пример работы программы:
Matrix:
2 -2 9 9
0 9 10 1
4 9 -1 3
Res=34