Найти элемент, наиболее близкий к среднему значению всех элементов массива - Pascal ABC (13438)
Формулировка задачи:
Задача
Найти элемент, наиболее близкий к среднему значению всех элементов массива.
Я не знаю, как найти наиболее близкое значение.
Вот что я сделал.
Решение задачи: «Найти элемент, наиболее близкий к среднему значению всех элементов массива»
textual
Листинг программы
Const
n=5;
Var
a:array[1..n]of longint;
min,i,k,s:longint;
Begin
for i:=1 to n do
Begin
read (a[i]);
s:=s+a[i];
end;
s:=round(s/n);
min:=abs(a[1]-s);
k:=1;
for i:=2 to n do
if abs(a[i]-s)<min
then
Begin
min:=abs(a[i]-s);
k:=i;
end;
writeln ('Среднее Арифметическое чисел - ',s);
writeln ('Наиболее приближенный элемент - ',a[k],', его номер - ',k,', разность со средним - ',min);
end.
Объяснение кода листинга программы
В данном коде объявлены следующие переменные:
- Const: константа, определяющая количество элементов в массиве (n=5);
- Var: переменные для хранения значений массива и результатов вычислений:
- a: массив из n элементов типа longint;
- min, i, k, s: переменные для хранения минимальной разности, индекса ближайшего элемента и суммы элементов массива соответственно;
- Begin: начало выполнения программы. Далее следует цикл, который считывает значения элементов массива и суммирует их. Затем вычисляется среднее значение всех элементов, а переменная min обновляется с учетом минимальной разности между текущим элементом и средним значением. После этого выполняется внутренний цикл, который сравнивает разницу между текущим элементом и средним значением с минимальной разностью и обновляет значения переменных min и k, если текущая разность меньше минимальной. В конце выводится среднее значение и наиболее близкий к нему элемент с его номером и разностью со средним значением. Обратите внимание, что данный код не использует вложенные списки.