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

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

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

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

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

textual
Листинг программы
begin
  var a : array [1..10] of Integer := (9,4,8,2,3,1,7,5,0,6);
  var sum := 0;
  foreach var n : Integer in a do sum += n;
  var sr := sum / (High(a) - Low(a) + 1);
  WriteLn('<', sr, '>');
  var n1 := Integer.MaxValue;
  var n2 := Integer.MaxValue;
  foreach var n : Integer in a do
    if abs(sr - n) < abs(sr - n1) then
      begin
        n2 := n1; n1 := n;
      end
    else if abs(sr - n) < abs(sr - n2) then
      n2 := n;
  WriteLn(n1, NewLine, n2);
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
Похожие ответы