Найти количества положительных элементов в массивах 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.

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

  1. Тип данных mas определен как массив целых чисел.
  2. Функция InMas принимает массив и количество элементов для ввода пользователем.
  3. Функция OutMas выводит массив на экран.
  4. Функция Positiv считает количество положительных элементов в массиве.
  5. Функция PositivSum считает сумму положительных элементов в массиве.
  6. Объявлены три массива a, b и c типа mas.
  7. Вызваны функции InMas для заполнения массивов a, b и c.
  8. Объявлены четыре переменные All, allSum, Pos и All и инициализированы нулем.
  9. Вывод на экран первого массива, подсчет и вывод количества положительных элементов.
  10. Вывод на экран второго массива, подсчет и вывод количества положительных элементов.
  11. Вывод на экран третьего массива, подсчет и вывод количества положительных элементов.
  12. Подсчет и вывод на экран среднего арифметического положительных элементов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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