Удалите из прямоугольной матрицы те строки, в которых есть число 7 - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Удалите из прямоугольной матрицы A(N*M), где N и M - заданные натуральные числа, те строки, в которых есть число 7. Если таких нет, выдать текстовое сообщение

Решение задачи: «Удалите из прямоугольной матрицы те строки, в которых есть число 7»

textual
Листинг программы
uses  Crt;
type  Tmatr=array[1..10,1..15] of byte;
var   n,m,i,j,t,k,e:byte;
      a:Tmatr;
      c:boolean;
begin
      ClrScr;
       repeat
          Write('0<N<11 = '); Readln(n);
          Write('0<M<16 = '); Readln(m);
       until (n>0) and (n<11) and (m>0) and(m<16);
       Writeln('Ishodnaja matrica:');
       Writeln; Randomize;
       for i:=1 to n do
        begin
          for j:=1 to m do
           begin
             a[i,j]:=Random(21);
             Write(a[i,j]:4);
           end;
          Writeln;
        end;
        Writeln;
       t:=0; i:=1; c:=false;
        repeat
           for j:=1 to m do
            if a[i,j]=7 then
             begin
               c:=true;
               Break
             end;
             if c
              then begin
                     Inc(t);
                     for k:=i to n-1 do
                      for e:=1 to m do
                       a[k,e]:=a[k+1,e];
                     Dec(n);
                     c:=false
                   end
              else Inc(i);
        until i>n;
       if t=0
        then Writeln('V matrice net cisel = 7')
        else
         begin
           Writeln('Preobrazovannaja matrica:'); Writeln;
           for i:=1 to n do
            begin
              for j:=1 to m do
               Write(a[i,j]:4);
              Writeln;
            end;
         end;
       ReadKey;
end.

Объяснение кода листинга программы

  1. В начале программы объявляются переменные n, m, i, j, t, k, e, которые будут использоваться для работы с матрицей.
  2. Создается переменная a типа Tmatr, которая будет представлять собой прямоугольную матрицу.
  3. Переменная c инициализируется значением false. Она будет использоваться для отслеживания наличия числа 7 в текущей строке матрицы.
  4. Запускается цикл while, который будет выполняться до тех пор, пока условие (n>0) and (n<11) and (m>0) and(m<16) выполняется.
  5. Внутри цикла while происходит чтение входных данных от пользователя.
  6. Затем происходит инициализация матрицы a случайными значениями.
  7. Далее идет вывод сообщения Ishodnaja matrica: и пробел.
  8. Затем идет вывод чисел матрицы в консоль.
  9. После этого идет вывод сообщения Preobrazovannaja matrica:.
  10. Если значение переменной t равно 0, то выводится сообщение V matrice net cisel = 7.
  11. Если значение переменной t не равно 0, то выводится матрица после преобразования.
  12. В конце программы вызывается функция ReadKey, чтобы дождаться нажатия клавиши перед завершением программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы