Найти элемент, наиболее близкий к среднему значению всех элементов массива - Pascal ABC (13438)
Формулировка задачи:
Задача
Найти элемент, наиболее близкий к среднему значению всех элементов массива.
Я не знаю, как найти наиболее близкое значение.
Вот что я сделал.
Листинг программы
- const n=20;
- var
- i,b:integer;
- c,x:real;
- a:array[1..n] of integer;
- begin
- for i:=1 to n do
- begin
- a[i]:=random(1,20);
- b:=b+a[i];
- c:=b/n;
- end;
- end.
Решение задачи: «Найти элемент, наиболее близкий к среднему значению всех элементов массива»
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, если текущая разность меньше минимальной. В конце выводится среднее значение и наиболее близкий к нему элемент с его номером и разностью со средним значением. Обратите внимание, что данный код не использует вложенные списки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д