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