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