Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/77: Рейтинг темы: голосов - 77, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 10.01.2016
Сообщений: 10
1

Найти элемент, наиболее близкий к среднему значению всех элементов массива

16.04.2016, 23:23. Показов 15197. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача
Найти элемент, наиболее близкий к среднему значению всех элементов массива.
Я не знаю, как найти наиболее близкое значение.
Вот что я сделал.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2016, 23:23
Ответы с готовыми решениями:

Найти элемент, наиболее близкий к среднему значению всех элементов массива
Найти элемент, наиболее близкий к среднему значению всех элементов массива.

Найти элемент, наиболее близкий к среднему значению всех элементов массива
Найти элемент, наиболее близкий к среднему значению всех элементов массива.

Найдите пожалуйста элемент, наиболее близкий к среднему значению всех элементов массива
Одномерный массив 12 элементов заполнить случайными положительными и отрицательными значениями....

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

3
14 / 14 / 11
Регистрация: 20.03.2016
Сообщений: 168
17.04.2016, 01:11 2
fedya7000, пару замечаний:
1. Не вижу у тебя первоначальной инициализации переменной B.
2. Вычисление среднего значения нужно производить после подсчета суммы всех элементов массива, делать это в цикле не вижу смысла.
3. Для выполнения этой задачи, я бы создал еще один массив(of Real), в который бы заносил разницу между каждым элементом массива и найденным средним значением.
4. Найти минимальный элемент в "новом" массиве разниц и запомнить его индекс.
5. По завершению цикла поиска минимума, вывести элемент исходного массива на экран, используя запомненный индекс минимального элемента.

п.с. Исправляй и показывай код.
0
0 / 0 / 10
Регистрация: 15.04.2016
Сообщений: 17
17.04.2016, 09:25 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

С коленки писал, но вроде правильно) если что пиши
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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.
0
14 / 14 / 11
Регистрация: 20.03.2016
Сообщений: 168
24.04.2016, 04:23 4
Alex57622, округлять значение разности до ближайшего целого считаю неверным, так как при этом теряется точность вычислений.

Добавлено через 58 минут
p.s. При следующем наборе исходных данных: 5, 2, 3, 1, 8
твоя программа выдаст, что "Наиболее приближенный элемент = 5", хотя на самом деле ближайшим числом к среднему арифметическому будет 3.

Так что я бы на твоём месте исправил тип переменных Min и S на Real.

p.s.2. И еще вопрос - насколько правильно будет работать твой код, если все числа будут отрицательными или часть чисел будет отрицательными?
А ведь LongInt предполагает не только положительные числа.
0
24.04.2016, 04:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2016, 04:23
Помогаю со студенческими работами здесь

Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему значению всех ее элементов
Доброго времени суток! Помогите решить, пожалуйста, задачу! &quot;Дана матрица размера M×N. Найти...

Найти элемент, наиболее близкий к среднему значению всех элементов массива
Дан массив целых чисел. Найти элемент , наиболее близкий к среднему значению всех элементов...

Найти элемент массива, наиболее близкий к среднему значению всех элементов массива
Найти элемент массива, наиболее близкий к среднему значению всех элементов массива. Найти среднее...

Найти элемент, наиболее близкий к среднему значению всех элементов списка
Найти элемент, наиболее близкий к среднему значению всех элементов списка. from random import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru