Определить в каких строках матрицы количество нулей преобладает - 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.
Объяснение кода листинга программы
В данном коде выполняется следующая последовательность действий:
- Создаются матрица
a
размером 5x5 и массивb
размером 5 элементов. - Заполняется матрица
a
случайными значениями от 0 до 1. - Выводится исходная матрица.
- Инициализируется переменная
found
значениемfalse
. - Для каждой строки матрицы
a
суммируются значения элементов и сохраняется в соответствующем элементе массиваb
. - Если значение в массиве
b
меньше или равно 2, то это строка, в которой количество нулей преобладает. - Если хотя бы одна строка удовлетворяет условию, то выводится сообщение с номерами таких строк.
- Если ни одна строка не удовлетворяет условию, то выводится соответствующее сообщение.