Из матрицы целых чисел удалить столбец, значения всех элементов которого равно 0 - Turbo Pascal

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

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

Из матрицы целых чисел удалить столбец, значения всех элементов которого равно 0 Исходная: 11 12 0 14 21 22 0 24 31 32 0 34 41 42 0 44 Конечная: 11 12 14 21 22 24 31 32 34 41 42 44

Решение задачи: «Из матрицы целых чисел удалить столбец, значения всех элементов которого равно 0»

textual
Листинг программы
Uses Crt;
Const nmax=20;
Var A:array[1..nmax,1..nmax] of integer;
    i,j,n,m,jk,k:byte;
    t:integer;
Begin
    ClrScr;
    write('n,m<=',nmax,': ');readln(n,m);
    For i:=1 to n do
     For j:=1 to m do
     Begin
       write('A[',i,',',j,'] = ');
       readln(A[i,j]);
     End;
    ClrScr;
    writeln('Исходная');
    For i:=1 to n do
    Begin
      For j:=1 to m do
       write(A[i,j]:4);
      writeln;
    End;
    j:=1;
    While (j<=m)and(jk=0) do
    Begin
      k:=0;
      For i:=1 to n do
       if A[i,j]=0 then inc(k);
      if k=n then jk:=j;
      inc(j);
    End;
    if jk=0 then writeln('Нету столбца из нулей')
    else
    Begin
      dec(m);
      For j:=jk to m do
       For i:=1 to n do
        A[i,j]:=A[i,j+1];
      writeln('Конечная');
      For i:=1 to n do
      Begin
        For j:=1 to m do
         write(A[i,j]:4);
        writeln;
      End;
    End;
    readln;
End.

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

  1. В начале кода объявляются необходимые переменные и используется библиотека Crt.
  2. Затем происходит чтение входных данных: n и m.
  3. Далее происходит итерация по элементам матрицы A.
  4. Внутри первого цикла выводится значение каждого элемента матрицы A.
  5. После этого происходит итерация по элементам массива A.
  6. Во втором цикле проверяется значение каждого элемента матрицы A.
  7. Если значение элемента равно 0, то увеличивается счетчик k.
  8. Если k равно n, то jk устанавливается равным j.
  9. Затем увеличивается значение j.
  10. В конце проверяется, равен ли jk 0.
  11. Если jk равно 0, выводится сообщение Нету столбца из нулей.
  12. Если jk не равно 0, происходит следующее:
    • Уменьшается значение m.
    • Для каждого i от 1 до n происходит итерация по элементам матрицы A.
    • Для каждого j от 1 до m происходит итерация по элементам матрицы A.
    • Значение элемента A[i,j] присваивается значению элемента A[i,j+1].
    • Выводится сообщение Конечная.
    • Для каждого i от 1 до n происходит итерация по элементам матрицы A.
    • Для каждого j от 1 до m выводится значение элемента A[i,j] в формате 4-х знаков после запятой.
    • Выводится символ новой строки.

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


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

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

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