Найти 2 элемента наиболее близкие к среднему арифметическому значению в массиве - PascalABC.NET

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

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

Создать процедуру которая вычисляет среднее арифметическое всех элементов заданного (размерность задать с консоли) массива, а также найти 2 элемента наиболее близкие к среднему арифметическому значению.

Решение задачи: «Найти 2 элемента наиболее близкие к среднему арифметическому значению в массиве»

textual
Листинг программы
  1. begin
  2.   var a : array [1..10] of Integer := (9,4,8,2,3,1,7,5,0,6);
  3.   var sum := 0;
  4.   foreach var n : Integer in a do sum += n;
  5.   var sr := sum / (High(a) - Low(a) + 1);
  6.   WriteLn('<', sr, '>');
  7.   var n1 := Integer.MaxValue;
  8.   var n2 := Integer.MaxValue;
  9.   foreach var n : Integer in a do
  10.     if abs(sr - n) < abs(sr - n1) then
  11.       begin
  12.         n2 := n1; n1 := n;
  13.       end
  14.     else if abs(sr - n) < abs(sr - n2) then
  15.       n2 := n;
  16.   WriteLn(n1, NewLine, n2);
  17. end.

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

В данном коде:

  1. Создается массив a десятичного типа с десятью элементами, значения которых равны соответственно 9, 4, 8, 2, 3, 1, 7, 5, 0, 6.
  2. Переменная sum инициализируется нулем.
  3. С помощью цикла foreach происходит итерация по элементам массива a. На каждой итерации значение элемента прибавляется к переменной sum.
  4. Переменная sr вычисляется как частное от деления суммы элементов массива на разность максимального и минимального значения элементов массива плюс единица.
  5. Выводится значение переменной sr.
  6. Инициализируются две переменные n1 и n2 максимальным значением типа Integer.
  7. Цикл foreach повторяет итерацию по элементам массива a.
  8. Если разница между sr и n меньше, чем разница между sr и n1, то n1 присваивается значение n, а n2 сохраняет значение n1.
  9. Если разница между sr и n меньше, чем разница между sr и n2, то n2 присваивается значение n.
  10. Выводятся значения n1 и n2.

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


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

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

15   голосов , оценка 3.4 из 5

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

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

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