uses crt;
Const m=10; n=5;
var a:array[1..m, 1..n] of integer; {массив 5х10}
b:array[1..m] of integer; {вспомагательній массив, туда будем записівать сумму чисел каждой строки, меньших или равніх нулю}
x,y,g,i,j:integer;
flag:boolean; {флаг}
begin
clrscr; randomize;
for i:=1 to m do
for j:=1 to n do
begin {ввод массива}
g:=random(30);
a[i,j]:=18-g;
y:=1;
end;
for i:=1 to m do
begin
for j:=1 to n do
begin {вівод массива}
case j of
1:x:=2;
2:x:=9;
3:x:=16;
4:x:=23;
5:x:=30;
end;
gotoxy(x,y);
write(a[i,j]);
end;
inc(y,2);
end;
for i:=1 to m do
begin
b[i]:=0;
for j:=1 to n do {считаем сумму элементов меньших нуля}
if a[i,j]<0 then
b[i]:=b[i]+a[i,j];
end;
flag:=false;
i:=1;
repeat
if b[i]=0 then {если сумма элементов, меньших нуля равна нулю, значит все числа положительные ===> запоминаем нужный рядок (g) и прекращаем проверку (флажок "падает"}
begin
flag:=true; g:=i;
end
else inc(i);
until (flag) or (i=m);
gotoxy(1,25);
if g<>0 then {выводим номер строки}
write(g)
else write('0');
readkey;
end.