Определить количество столбцов матрицы, содержащих хотя бы один нулевой элемент - Pascal ABC
Формулировка задачи:
Дана целочисленная прямоугольная матрица. Определить количество
столбцов, содержащих хотя бы один нулевой элемент.
Использовать подпрограммы.
Решение задачи: «Определить количество столбцов матрицы, содержащих хотя бы один нулевой элемент»
textual
Листинг программы
const nmax=15;
type mtr=array[1..nmax,1..nmax] of integer;
procedure matrix(var a:mtr;var m,n:byte);
var i,j:byte;
begin
repeat
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(10);
write(a[i,j]:3);
end;
writeln;
end;
end;
function kol_stb(a:mtr;m,n:byte):byte;
var i,j,k,z:byte;
begin
k:=0;
for j:=1 to n do
begin
z:=0;
i:=1;
while(i<=m)and(z=0) do
if a[i,j]=0 then z:=1
else inc(i);
if z=1 then inc(k);
end;
kol_stb:=k;
end;
var a:mtr;
m,n:byte;
begin
matrix(a,m,n);
write('Количество столбцов в которых есть ноли=',kol_stb(a,m,n))
end.
Объяснение кода листинга программы
- В начале кода объявляются необходимые переменные и константы.
- Затем идет процедура
matrix, которая считывает количество строк и столбцов матрицы от пользователя и выводит исходную матрицу. - Далее определена функция
kol_stb, которая проверяет каждый столбец матрицы на наличие хотя бы одного нулевого элемента и возвращает количество таких столбцов. - В основной части кода создается переменная
aтипаmtrи вызывается функцияmatrixдля считывания значенийmиn. - Затем вызывается функция
kol_stbи выводится результат.