Найти число m– среднее арифметическое всех элементов массива - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Найти число m– среднее арифметическое всех элементов массива, значение которых меньше числа a, задаваемого пользователем. Определить сумму индексов таких элементов, значения которых меньше m.

Решение задачи: «Найти число m– среднее арифметическое всех элементов массива»

textual
Листинг программы
  1. uses Arrays;
  2.  
  3. const n = 20;
  4. var
  5.   x : array of integer := CreateRandomIntegerArray(n, 0, 50);
  6.   m : double;
  7. begin
  8.   x.Writeln;
  9.   var a := ReadlnReal('Введите число a: ');
  10.   var less := x.Where(v -> v < a);
  11.   if less.Count() > 0 then
  12.   begin
  13.     m := less.Average();
  14.     writeln('Среднее = ', m, NewLine,
  15.             'Сумма индексов = ', x.Select((v, i) -> (v < m) ? i : 0).Sum());
  16.   end
  17.   else writeln('Нет таких значений')
  18. end.

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

  1. Объявляется константа n и переменная x типа массив целых чисел с размером n.
  2. Создается случайный массив x с помощью функции CreateRandomIntegerArray(n, 0, 50).
  3. Объявляется переменная m типа double для хранения среднего арифметического.
  4. Выводится содержимое массива x с помощью метода Writeln.
  5. Пользователю предлагается ввести число a с помощью функции ReadlnReal.
  6. Создается новый массив less, содержащий только те элементы из x, которые меньше a.
  7. Проверяется, что массив less не пустой.
  8. Если это так, то вычисляется среднее значение элементов массива less с помощью метода Average и сохраняется в переменной m.
  9. Выводится сообщение с средним значением m и суммой индексов элементов массива x, меньших или равных m, с помощью функции Select и метода Sum.
  10. Если массив less пустой, то выводится сообщение Нет таких значений.

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


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

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

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы