Дана матрица вещественного типа D(n,m), n,m<=20. Разработайте программу, которая в заданной матрице вычеркивает все строки, содержащие более трех отрицательных элементов. Вывести на экран исходную матрицу и матрицу-результат или соответствующее сообщение, если таких строк не окажется или все строки будут удовлетворять условию - Pascal(Паскаль)

uses crt;
var
   d:array[1..20,1..20] of real;
   i,j,m,n,k,f:integer;
   a:array[1..20] of integer;
begin
clrscr;
write('Размерность массива n=');
readln(n);
write('Размерность массива m=');
readln(m);
writeln('Формирование массива');
randomize;
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    d[i,j]:=random(41)-10+random;
    if (d[i,j]<0) then k:=k+1;
    write(d[i,j]:8:2);
   end;
  if (k>3) then
   begin
    a[i]:=i;
    f:=1;
   end;
  k:=0;
  writeln;
 end;
if (f=0) then writeln('Не удовлетворяет условию!')else
 begin
  repeat
   i:=i+1;
  until (a[i]<>i)or (i=n);
  if (i=n) then writeln('Все строки удовлетворяют условию!')else
   begin
    writeln('Массив');
    for i:=1 to n do
     begin
      writeln;
      for j:=1 to m do
       if (a[i]<>i) then write(d[i,j]:8:2)else continue;
     end;
   end;
 end;
readln
end.

Leave a Comment

− 6 = 2