• Сформируйте двухмерный массив и удалите из него все строки в которых встречается заданное число.TubrboPascal

Ответы 1

  • uses  Crt;const  nn=10;var  a:array[1..nn,1..nn] of integer;  d:array[1..nn] of boolean;  i,j,k,n,n1,i1:integer;begin  ClrScr;  Randomize;  Write('Укажите число строк в массиве (2-10): ');  Read(n);  Writeln('Исходный массив');  for i:=1 to n do  begin    for j:=1 to n do    begin      a[i,j]:=Random(51)-25;      Write(a[i,j]:4)    end;    Writeln  end;  Write('Введите число, строки с которым надо удалить: ');  Read(k);  for i:=1 to n do  begin    d[i]:=False;    j:=1;    while (j<=n) and not d[i] do    begin d[i]:=(a[i,j]=k); Inc(j) end  end;  n1:=n;  while (d[n1]) and (n1>0) do Dec(n1);  if n1=0 then Writeln('Удалены все строки')  else begin    for i:=n1 downto 1 do    begin      if d[i] then begin    for i1:=i to n1-1 do      for j:=1 to n do a[i1,j]:=a[i1+1,j];    Dec(n1)      end    end;    Writeln('Результирующий массив');    for i:=1 to n1 do    begin      for j:=1 to n do Write(a[i,j]:4);      Writeln    end  end;  ReadKeyend.Тестовое решение:Укажите число строк в массиве (2-10): 10Исходный массив  -6  23  18   9   4  15 -22  12  16 -18  11  20 -16 -22 -20 -24 -21  25  12  14 -11   7  22   4  -6 -15 -14  -7 -19   1 -16   5  -9  19   6  10   2   2  10  18 -18  -6 -24  21  16 -22  12   2 -25   5   0 -11  16 -11   6  21 -12  -1  13 -20 -24   3 -22  14  19  22   2 -15  10 -13 -22  16  12  24  -3  -2 -20  16 -11   4  -9 -15  -1 -20  17 -17 -24   3 -19   9  23   7 -25  -6  16  13  -5  22 -18  18Введите число, строки с которым надо удалить: -6Результирующий массив  11  20 -16 -22 -20 -24 -21  25  12  14 -16   5  -9  19   6  10   2   2  10  18   0 -11  16 -11   6  21 -12  -1  13 -20 -24   3 -22  14  19  22   2 -15  10 -13 -22  16  12  24  -3  -2 -20  16 -11   4  -9 -15  -1 -20  17 -17 -24   3 -19   9
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years