Подсчитать, сколько в массиве нулевых элементов - 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.

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

  1. Создается тип данных vector, который представляет собой массив целых чисел размером от 1 до 100.
  2. Создается переменная a типа vector.
  3. Создаются три переменные n, left, right типа integer.
  4. Вызывается функция gen, которая генерирует случайные числа от 0 до 4 в массив a размером n.
  5. Вызывается функция print, которая печатает все числа из массива a размером n.
  6. Вызывается функция count, которая подсчитывает количество нулевых элементов в массиве a размером n.
  7. Вызывается процедура customPrint, которая печатает все четные числа из массива a размером n.
  8. Вызывается процедура showElement, которая печатает все числа из массива a размером n, которые больше или равны числу c и меньше или равны числу d.
  9. Вызывается функция mult, которая вычисляет произведение всех чисел из массива a размером n, которые больше числа m.
  10. Завершается программа.

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

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