Сколько столбцов в матрице не содержит ни одной степени двойки? - PascalABC.NET

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

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

Сколько столбцов в матрице не содержит ни одной степени двойки? Решение задачи без использования процедур и функций.

Решение задачи: «Сколько столбцов в матрице не содержит ни одной степени двойки?»

textual
Листинг программы
begin
  var Rows := ReadLnInteger('Строк =');
  var Cols := ReadLnInteger('Столбцов =');
  var A : array [,] of Integer;
  SetLength(A, Rows, Cols);
  var D := 0;
  for var Row := 0 to Rows-1 do
    for var Col := 0 to Cols-1 do
      begin
        A[Row, Col] := ReadLnInteger('A[' + (Row+1).ToString + ',' + (Col+1).ToString + '] =');
        D := max(D, A[Row, Col].ToString.Length + 1);
      end;
  WriteLn('Введена матрица:');
  for var Row := 0 to Rows-1 do
    begin
      for var Col := 0 to Cols-1 do
        Write(A[Row,Col]:D);
      WriteLn;
    end;
  var Count := 0;
  for var Col := 0 to Cols-1 do
    begin
      var Num := 0;
      for var Row := 0 to Rows-1 do
        begin
          var V := A[Row, Col];
          while Not Odd(V) do
            V := V shr 1;
          Num += (V = 1 ? 1 : 0);
        end;
      Count += (Num = 0 ? 1 : 0);
    end;
  WriteLn('Столбцов, которые не содержат ни одной степени двойки ', Count);
end.

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

В этом коде выполняются следующие действия:

  1. Ввод количества строк и столбцов матрицы.
  2. Создание двумерного массива A для хранения элементов матрицы.
  3. Ввод всех элементов матрицы.
  4. Нахождение максимальной длины строки элемента матрицы (для последующего форматирования вывода).
  5. Вывод матрицы.
  6. Инициализация переменной Count, которая будет подсчитывать количество столбцов без степеней двойки.
  7. Проход по всем столбцам матрицы.
  8. Для каждого столбца проход по всем строкам и подсчет количества элементов, кратных двум (это и будут степени двойки).
  9. Увеличение переменной Count на единицу, если количество кратных двум равно нулю.
  10. Вывод количества столбцов без степеней двойки.

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


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

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

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