program negative;
var i,j,k,n: integer;
z: array[1..5,1..6] of integer;
m: array[1..6] of integer;
begin
for i:=1 to 5 for j:=1 to 6 do read(z[i,j]); {Вводим элементы матрицы}
k:=1; {активируем номер элемента массива для первого отрицательного числа}
for j:=1 to 6 do {цикл по столбцах}
begin
for i:=1 to 5 do {цикл по строках}
begin
if z[i,j]<0 then {в случае нахождения первого отрицательного элемента:}
begin
m[k]:=z[i,j]; {записываем его в массив}
k:=k+1;{активируем следующий номер элемента массива для следующего отрицательного числа}
z[i,j]:=0; {обнуляем текущее отрицательное число для замены его на сумму}
for n:=i+1 to 5 do z[i,j]:=z[i,j]+z[n,j]; {вычисление суммы по строках, начиная со следующей}
i:=6; {для того, чтобы выйти из цикла по строках, так как надо заменить лишь первое отрицательное число}
end;
end;
end;
end.
Program p1085072;
const n=5;
m=6;
var a:array [1..n,1..m] of integer;
summ,i,j,k:integer;
begin
{Сделаем ввод вручную}
for i:=1 to n do
begin
for j:=1 to m do
begin
write('a[',i,',',j,']=');
read(a[i,j]);
end;
writeln;
end;
{поиск по столбцам отрицательных элементов и замена их на сумму предыдущих}
for i:=1 to m do
begin
for j:=1 to n do
begin
if a[j,i]<0 then
begin
if j<m-1 then {проверяем чтобы отрицательный элемент столбца не был внизу столбца}
begin
k:=j+1;
summ:=0;
while (k<=n) do
begin
summ:=summ+a[k,i];
k:=k+1;
end;
a[j,i]:=summ;
break;
end;
end;
end;
end;
{вывод}
for i:=1 to n do
begin
for j:=1 to m do
begin
write('a[',i,',',j,']=',a[i,j],'; ');
end;
writeln;
end;
end.
Program p1085072;
const n=5;
m=6;
var a:array [1..n,1..m] of integer;
summ,i,j,k:integer;
begin
{Сделаем ввод вручную}
for i:=1 to n do
begin
for j:=1 to m do
begin
write('a[',i,',',j,']=');
read(a[i,j]);
end;
writeln;
end;
{поиск по столбцам отрицательных элементов и замена их на сумму предыдущих}
for i:=1 to m do
begin
for j:=1 to n do
begin
if a[j,i]<0 then
begin
if j<n then {проверяем чтобы отрицательный элемент столбца не был внизу столбца}
begin
k:=j+1;
summ:=0;
while (k<=n) do
begin
summ:=summ+a[k,i];
k:=k+1;
end;
a[j,i]:=summ;
break;
end;
end;
end;
end;
{вывод}
for i:=1 to n do
begin
for j:=1 to m do
begin
write('a[',i,',',j,']=',a[i,j],'; ');
end;
writeln;
end;
end.
Program p1085072;
const n=5;
m=6;
var a:array [1..n,1..m] of integer;
summ,i,j,k:integer;
b:array[1..m] of integer;
begin {создадим массив 0 - это для вывода отрицательных}
for i:=1 to m do
b[i]:=0;
{Сделаем ввод вручную}
for i:=1 to n do
begin
for j:=1 to m do
begin
write('a[',i,',',j,']=');
read(a[i,j]);
end;
writeln;
end;
{поиск по столбцам отрицательных элементов и замена их на сумму предыдущих}
for i:=1 to m do
begin
for j:=1 to n do
begin
if a[j,i]<0 then
begin
b[i]:=a[j,i];
if j<n then {проверяем чтобы отрицательный элемент столбца не был внизу столбца}
begin
k:=j+1;
summ:=0;
while (k<=n) do
begin
summ:=summ+a[k,i];
k:=k+1;
end;
a[j,i]:=summ;
break;
end;
end;
end;
end;
{вывод}
for i:=1 to n do
begin
for j:=1 to m do
begin
write('a[',i,',',j,']=',a[i,j],'; ');
end;
writeln;
end;
{Вывод массива отрицательных}
for i:=1 to m do
begin
if b[i]<>0 then
begin
write('b[',i,']=',b[i],' ');
end
else break;
end;
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.