IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> [Java] Среднестатистический и уникальный элементы
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Мужской

Репутация: -  0  +


Помогите Пожалуйста доделать задание:
Назовем среднестатистическим такой элемент массива, для которого модуль разности его
значения и среднего арифметического значения элементов массива минимален.
Аналогично, назовем уникальным элемент для которого модуль этой разности
максимален. Найдите в массиве среднестатистический и уникальный элементы и их
индексы.
Мой код:
 int sum = 0;
int index1 = 0;
int index2 = 0;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
double srAr = 0;
for (int i = 0; i < n; i++){
sum =+a[i];
}
srAr = sum / n;
for (int i = 0; i < n; i++){
if (Math.abs(a[i] - srAr) < Math.abs(a[index2] - srAr)) {index2 = i;}
if (Math.abs(a[i] - srAr) > Math.abs(a[index1] - srAr)) {index1 = i;}
}

Помогите Пожалуйста учесть вот это условие:
В случае, если в массиве окажется два или более среднестатистических (или уникальных) элемента,
выведите меньший из них, а в случае равенства элементов между собой - укажите наименьший индекс.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Цитата
У меня почему-то выводит неправильные результаты
Это не ко мне вопрос. Мой код выдает вот такие результаты (даже без исправления, внесенного мной позже, все равно для этих данных выводится правильный результат) :
Цитата
Averaged : a[0] = 4
Unique : a[2] = 8
на твоих данных. Вопрос, ЧЕМ они неправильные - остается открытым. КАКИЕ - правильные по твоему? Среднее арифметическое = 3.857142857142857, с учетом этого минимальный модуль разности:
0.1428571428571428 (для нулевого элемента), а максимальный = 4.142857142857142 - для элементов с индексами 2 и 6. Значения одинаковые, значит, берем минимальный индекс, то есть, 2. Что не так?

А то, что ты перекроил код по-своему - вот и ищи ошибку у себя.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 14:49
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name