Задать вопрос
6 ноября, 18:53

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

+1
Ответы (1)
  1. 6 ноября, 22:41
    0
    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;

    ReadKey

    end.

    Тестовое решение:

    Укажите число строк в массиве (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
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Сформируйте двухмерный массив и удалите из него все строки в которых встречается заданное число. TubrboPascal ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы