Определить в каких строках матрицы количество нулей преобладает - Pascal ABC

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

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

Дана матрица А(5,5), состоящая из нулей и единиц. Определить в каких строках количество нулей преобладает.

Решение задачи: «Определить в каких строках матрицы количество нулей преобладает»

textual
Листинг программы
var
  a: array[1..5, 1..5] of byte;
  b: array[1..5] of boolean;
  i, j, k: byte;
  found: boolean;
 
begin
  randomize;
  writeln('Исходная матрица:');
  for i := 1 to 5 do
    begin
      for j := 1 to 5 do
        begin
          a[i, j] := random(2);
          write(a[i, j]:2)
        end;
      writeln
    end;
  found := false;
  for i := 1 to 5 do
    begin
      k := 0;
      for j := 1 to 5 do k := k + a[i, j];
      b[i] := k <= 2;
      found := found or b[i]
    end;
  if found
    then begin
      writeln('Строки, в которых количество нулей больше количества единиц:');
      for i := 1 to 5 do if b[i] then write(i:2);
      writeln
    end
    else writeln('Нет строк, в которых количество нулей больше количества единиц.')
end.

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

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

  1. Создаются матрица a размером 5x5 и массив b размером 5 элементов.
  2. Заполняется матрица a случайными значениями от 0 до 1.
  3. Выводится исходная матрица.
  4. Инициализируется переменная found значением false.
  5. Для каждой строки матрицы a суммируются значения элементов и сохраняется в соответствующем элементе массива b.
  6. Если значение в массиве b меньше или равно 2, то это строка, в которой количество нулей преобладает.
  7. Если хотя бы одна строка удовлетворяет условию, то выводится сообщение с номерами таких строк.
  8. Если ни одна строка не удовлетворяет условию, то выводится соответствующее сообщение.

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

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