Дан двумерный массив А(NхM), заполненный случайным образом. Определить, есть ли в этом двумерном массиве строка, в которой ровно два отрицательных элемента — Pascal(Паскаль)

uses crt;
const n=4;
var a:array[1..n,1..n] of integer;
    i,j,k:integer;
begin
ClrScr;
Randomize;
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(20)-10;
    Write(a[i,j]:4);
   end;
  Writeln;
 end;
Writeln;
for i:=1 to n do
 begin
  k:=0;
  for j:=1 to n do
   if a[i,j]<0 then
    inc(k);
  if k=2 then
   Writeln(i,' ');
 end;
Readln;
end.

Следующий вариант

uses crt;
const count=50;
type arr=array[1..count,1..count] of integer;
var vec:array[1..count] of integer;
i,j,n,m,k:integer;
mas:arr;
b:boolean;
 
procedure inputmas(var mas:arr; n,m:integer);
var
 i,j:integer;
begin
for i:=1 to n do
  for j:=1 to m do mas[i,j]:=random(50);
end;
 
procedure outputmas(mas:arr; n,m:integer);
var i,j:integer;
begin
for i:=1 to n do begin
  for j:=1 to m do write(mas[i,j]:4);
writeln;
end;
end;
 
begin
clrscr;
randomize;
write('n,m: ');
readln(n,m);
inputmas(mas,n,m);
outputmas(mas,n,m);
for i:=1 to n do begin
  k:=0;
  for j:=1 to m do if mas[i,j]<0 then inc(k);
  vec[i]:=k;
  end;
writeln;
for i:=1 to n do if vec[i]>=2 then begin
b:=true;
break;
end
else b:=false;
if b then write('yes')
else write('no');
readkey;
end.

Leave a Comment

− 1 = 3