Подсчитать, сколько в массиве нулевых элементов - Pascal ABC (13807)
Формулировка задачи:
Составить программу на Паскале, содержащую минимум четыре подпрограммы.
Дан одномерный массив, выполнить следующие действия:
-подсчитать, сколько в нем нулевых элементов;
-напечатать элементы в виде двух параллельных столбцов (в первом столбце - элементы, стоящие на нечетных местах,во втором - на четных);
-указать те ее элементы, которые принадлежат отрезку [c, d];
-найти произведение только тех чисел, которые больше заданного числа m.
Заранее спасибо
Решение задачи: «Подсчитать, сколько в массиве нулевых элементов»
textual
Листинг программы
type vector = array[1..100] of integer; var a:vector; n,left,right,m:integer; //генерация массива procedure gen(var a:vector; n:integer); var i:integer; begin for i:=1 to n do a[i]:=Random(5); end; //печать массива procedure print(var a:vector; n:integer); var i:integer; begin for i:=1 to n do write(a[i]:2); writeln(); end; //посдчет нулевых элементов function count(a:vector; n:integer):integer; var x,i:integer; begin x:=0; for i:=1 to n do if(a[i] = 0) then inc(x); count:=x; end; //другая печать массива procedure customPrint(a:vector; n:integer); var i, j:integer; begin for i:=1 to n do begin write(a[i]:2); if(i mod 2 = 0)then writeln(); end; writeln(); end; //вывод элементов которые входят в [c,d] procedure showElement(a:vector; n,c,d:integer); var i:integer; begin for i:=1 to n do if(a[i] <= d) and (a[i] >= c) then write(a[i]:2); writeln(); end; //произведение чисел, которые больше заданного m function mult(a:vector; n,m:integer):integer; var x,i:integer; begin x:=1; for i:=1 to n do if(a[i] > m) then x:=x*a[i]; mult:=x; end; begin write('Количество элементов в массиве '); readln(n); gen(a,n); print(a,n); writeln('Количество нулевых элементов в массиве = ', count(a,n)); customPrint(a,n); write('Введите промежуток [c,d] '); readln(left, right); showElement(a,n,left,right); write('Введите число m '); readln(m); writeln('Произведение чисел которые больше заданного m = ', mult(a,n,m)); end.
Объяснение кода листинга программы
- Создается тип данных
vector
, который представляет собой массив целых чисел размером от 1 до 100. - Создается переменная
a
типаvector
. - Создаются три переменные
n
,left
,right
типаinteger
. - Вызывается функция
gen
, которая генерирует случайные числа от 0 до 4 в массивa
размеромn
. - Вызывается функция
print
, которая печатает все числа из массиваa
размеромn
. - Вызывается функция
count
, которая подсчитывает количество нулевых элементов в массивеa
размеромn
. - Вызывается процедура
customPrint
, которая печатает все четные числа из массиваa
размеромn
. - Вызывается процедура
showElement
, которая печатает все числа из массиваa
размеромn
, которые больше или равны числуc
и меньше или равны числуd
. - Вызывается функция
mult
, которая вычисляет произведение всех чисел из массиваa
размеромn
, которые больше числаm
. - Завершается программа.