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

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

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

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

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

textual
Листинг программы
  1. uses  Crt;
  2. type  Tmatr=array[1..10,1..15] of byte;
  3. var   n,m,i,j,t,k,e:byte;
  4.       a:Tmatr;
  5.       c:boolean;
  6. begin
  7.       ClrScr;
  8.        repeat
  9.           Write('0<N<11 = '); Readln(n);
  10.           Write('0<M<16 = '); Readln(m);
  11.        until (n>0) and (n<11) and (m>0) and(m<16);
  12.        Writeln('Ishodnaja matrica:');
  13.        Writeln; Randomize;
  14.        for i:=1 to n do
  15.         begin
  16.           for j:=1 to m do
  17.            begin
  18.              a[i,j]:=Random(21);
  19.              Write(a[i,j]:4);
  20.            end;
  21.           Writeln;
  22.         end;
  23.         Writeln;
  24.        t:=0; i:=1; c:=false;
  25.         repeat
  26.            for j:=1 to m do
  27.             if a[i,j]=7 then
  28.              begin
  29.                c:=true;
  30.                Break
  31.              end;
  32.              if c
  33.               then begin
  34.                      Inc(t);
  35.                      for k:=i to n-1 do
  36.                       for e:=1 to m do
  37.                        a[k,e]:=a[k+1,e];
  38.                      Dec(n);
  39.                      c:=false
  40.                    end
  41.               else Inc(i);
  42.         until i>n;
  43.        if t=0
  44.         then Writeln('V matrice net cisel = 7')
  45.         else
  46.          begin
  47.            Writeln('Preobrazovannaja matrica:'); Writeln;
  48.            for i:=1 to n do
  49.             begin
  50.               for j:=1 to m do
  51.                Write(a[i,j]:4);
  52.               Writeln;
  53.             end;
  54.          end;
  55.        ReadKey;
  56. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы