Определить общее количество положительных элементов в трех массивах - Turbo Pascal
Формулировка задачи:
Даны три массива разной размерности. Определить общее количество положительных элементов в трех массивах. Помогите решить, пожалуйста. И с комментариями
Решение задачи: «Определить общее количество положительных элементов в трех массивах»
textual
Листинг программы
var a:array[1..5] of integer; {первый массив} b:array[1..10] of integer;{второй массив} c:array[1..15] of integer;{третий массив} procedure print(a:array of integer;s:string);{процедура печати массива} var i:integer; begin writeln(s); write('['); for i:=low(a) to high(a)-1 do write(a[i],','); writeln(a[high(a)],']'); end; procedure genrnd(var a:array of integer;a1,a2:integer);{заполнение массива случайными числами} var i:integer; begin for i:=low(a) to high(a) do a[i]:=random(a2+abs(a1))+a1; end; function calcp(a:array of integer):integer;{подсчет положительных элементов массива} var i,j:integer; begin j:=0; for i:=low(a) to high(a) do if a[i]>0 then j:=j+1; calcp:=j; end; begin randomize; genrnd(a,-50,50);print(a,'A:'); genrnd(b,-100,100);print(b,'B:'); genrnd(c,-15,20);print(c,'C:'); writeln('Число элементов больших 0 равно ',calcp(a)+calcp(b)+calcp(c)); readln; end.
Объяснение кода листинга программы
- Объявляются три массива a, b и c, каждый из которых содержит 15 элементов типа integer.
- Определяется процедура print, которая принимает массив и строку в качестве параметров. Эта процедура печатает элементы массива, используя переданную строку в качестве формата.
- Определяется процедура genrnd, которая принимает массив и два целых числа в качестве параметров. Эта процедура заполняет массив случайными числами в диапазоне от a1 до a2, включая границы.
- Определяется функция calcp, которая принимает массив в качестве параметра. Эта функция подсчитывает количество положительных элементов в массиве.
- В основной части программы вызываются процедуры print для каждого из массивов a, b и c.
- Затем вызывается функция calcp для каждого из массивов a, b и c, и результат выводится на экран.
- Наконец, программа завершается с помощью команды readln.