Определить количество столбцов матрицы, содержащих хотя бы один нулевой элемент - Pascal ABC (16805)
Формулировка задачи:
Дана целочисленная прямоугольная матрица. Определить:
1) Количество столбцов, содержащих хотя бы один нулевой элемент;
2) Номер строки, в которой находится самая длинная серия одинаковых элементов.
Спасибо за помощь
Решение задачи: «Определить количество столбцов матрицы, содержащих хотя бы один нулевой элемент»
textual
Листинг программы
program pr; const n=5; m=10; type mas = array [1..n, 1..m] of integer; var a : mas; i,j, kol, length, maxLength, num : integer; flag : boolean; begin writeln(); randomize; for i:=1 to n do begin for j:= 1 to m do begin a[i,j]:=random(10)-5; write(a[i,j]:4); end; writeln(); end; kol:=0; for j:=1 to m do begin flag:=false; for i:= 1 to n do if a[i,j]=0 then flag:=true; if flag then kol:=kol+1; end; writeln(); writeln('Кол-во столбцов, содержащих нулевой эл-т ', kol); num:=0; maxLength:=0; for i:=1 to n do begin length:=1; for j:=2 to m do if (a[i,j]=a[i,j-1]) then begin length:=length+1; if (length > maxLength) then begin maxLength:=length; num:=i; end; end else length:=1; end; writeln('Номер строки c самой дл. серией одинаковых эл-тов (', maxLength, ' шт) ', num); end.
Объяснение кода листинга программы
- Создается программа на языке Pascal ABC с именем pr.
- В программе объявляются следующие константы: n=5 и m=10.
- Затем объявляется тип данных mas, который представляет собой массив целых чисел размером от 1 до n строк и от 1 до m столбцов.
- Переменная a присваивается значение типа mas.
- Далее объявляются переменные i, j, kol, length и maxLength, которые будут использоваться в цикле.
- Переменная flag инициализируется значением false. Она будет использоваться для отслеживания наличия хотя бы одного нулевого элемента в текущем столбце.
- Затем начинается цикл, который выполняется для каждого столбца матрицы.
- Внутри цикла проверяется каждый элемент матрицы. Если элемент равен 0, то переменная flag устанавливается в true.
- После проверки всех элементов столбца, если переменная flag имеет значение true, то переменная kol увеличивается на 1. Это происходит, если в столбце есть хотя бы один нулевой элемент.
- После завершения внутреннего цикла, переменная num присваивается значению i, так как это номер строки с самой длинной серией одинаковых элементов.
- Завершается программа выводом на экран количества столбцов, содержащих хотя бы один нулевой элемент, и номера строки с самой длинной серией одинаковых элементов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д