Найти количества положительных элементов в массивах A,B,C, а затем - их среднее арифметическое - PascalABC.NET
Формулировка задачи:
Задание к работе:
Ввод исходных данных и их контрольный вывод оформить как процедуры, а обработку - в виде функции или процедуры. Привести как минимум два тестирующих примераА вот и сама задачка:
Найти количества положительных элементов в массивах A,B,C, а затем - их среднее арифметическое Я не могу понять, где у меня ошибкаРешение задачи: «Найти количества положительных элементов в массивах A,B,C, а затем - их среднее арифметическое»
textual
Листинг программы
type mas = array of integer; procedure InMas (var m:mas; n:integer; mas_name:char); var i:integer; begin writeln('Введите массив ', mas_name, ' из ', n, ' элементов:'); SetLength(m, n); for i:=0 to n-1 do m[i] := ReadLnInteger(mas_name + '[' + (i+1).ToString + '] ='); end; procedure OutMas (m:mas; mas_name:char); begin writeln('массив ',mas_name,': ', m); end; function Positiv(m:mas):integer; begin Result := 0; foreach var n in m do if n > 0 then Result += 1; end; function PositivSum(m:mas):integer; begin Result := 0; foreach var n in m do if n > 0 then Result += n; end; var a,b,c:mas; begin InMas (a, 5, 'A'); InMas (b, 5, 'B'); InMas (C, 5, 'C'); var All := 0; var allSum := 0; var Pos := 0; WriteLn; OutMas(a, 'A'); Pos := Positiv(a); All += Pos; allSum += PositivSum(a); WriteLn('Количество положительных элементов: ', Pos); WriteLn; OutMas(b, 'B'); Pos := Positiv(b); All += Pos; allSum += PositivSum(b); WriteLn('Количество положительных элементов: ', Pos); WriteLn; OutMas(c, 'C'); Pos := Positiv(c); All += Pos; allSum += PositivSum(c); WriteLn('Количество положительных элементов: ', Pos); WriteLn; WriteLn('Среднее арифметическое положительных элеметов = ', allSum / (All = 0 ? 1 : All)); end.
Объяснение кода листинга программы
- Тип данных
mas
определен как массив целых чисел. - Функция
InMas
принимает массив и количество элементов для ввода пользователем. - Функция
OutMas
выводит массив на экран. - Функция
Positiv
считает количество положительных элементов в массиве. - Функция
PositivSum
считает сумму положительных элементов в массиве. - Объявлены три массива
a
,b
иc
типаmas
. - Вызваны функции
InMas
для заполнения массивовa
,b
иc
. - Объявлены четыре переменные
All
,allSum
,Pos
иAll
и инициализированы нулем. - Вывод на экран первого массива, подсчет и вывод количества положительных элементов.
- Вывод на экран второго массива, подсчет и вывод количества положительных элементов.
- Вывод на экран третьего массива, подсчет и вывод количества положительных элементов.
- Подсчет и вывод на экран среднего арифметического положительных элементов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д