Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [Алгоритмы] Ранжирование массива чисел |
Автор: AndreyKO 23.9.2006, 14:03 |
Помогите пожалуйста! горю... Необходимо проранжировать ряд чисел (массив): Меньшему значению начисляется ранг 1. Наибольшему значению начисляется ранг равный количеству чисел в массиве. Если несколько значений массива равны,им начисляется ранг равный среднему значению тех рангов, которые они получили бы, если бы не были равны. ____________________________________________________________________________________ ++++++++ У кого какие соображения+++++++++++++++++++++++++++++++++++++++++++++++ Может кто сталкивался с этой лабудой... |
Автор: Kuvaldis 23.9.2006, 14:20 | ||
AndreyKO, 1.
2. С просьбой о написании программ - в Центр помощи 3. приведи пример входных и выходных данных (для четкости понимания задачи). Ранжирование с плавающей точкой получается? |
Автор: maxim1000 23.9.2006, 15:52 |
1. сортируем 2. ранг каждого числа - его порядковый номер в отсортированном массиве 3. пробегаем массив в поисках групп одинаковых элементов, подправляем их ранги |
Автор: Kuvaldis 23.9.2006, 15:59 |
maxim1000, По-моему, не все так гладко. Например, у нас N чисел со значением А. Согласно условию задачи, мы их должны поставить ранг по следующей формуле rank = (A + (A + 1) + (A + 2) + ... (A + N - 1) ) / N = A + (N - 1) / 2 Ранг не всегда целое число, но при определенных N rank >= N + 1. Согласен? Что тогда в качестве ранга брать для следующей группы одинаковых элементов? Я поэтому про входные и выходные данные спрашивал. ![]() СУВ |
Автор: maxim1000 23.9.2006, 19:04 |
а что тут такого? N - количество одинаковых элементов в группе (насколько я понял) если, например, будут на 8-м и 9-м месте будут два одинаковых числа, то у них ранг будет 8.5, что, конечно же больше N+1 (N в данном случае 2) |
Автор: Kuvaldis 23.9.2006, 20:30 | ||||||
maxim1000, Очень извиняюсь ![]()
Не выспался. Надо было написать
И встает, таким образом, вопрос: каким числом кодировать следующую группу одинаковых элементов, если
|
Автор: maxim1000 23.9.2006, 22:46 |
массив: 1,2,2,2,4,5,6,6,8 предварительные ранги: 1,2,3,4,5,6,7,8,9 подправленные ранги: 1,3,3,3,5,6,7.5,7.5,9 |
Автор: Oleg_Ci 24.9.2006, 07:33 | ||
Вобщем порограмма работает так как maxim1000 объяснял
|
Автор: AndreyKO 24.9.2006, 10:25 |
Большое спасибо! Очень выручили!!! ![]() |
Автор: Vyacheslav 25.9.2006, 09:42 |
Для домашних заданий, курсовых, существует "Центр Помощи" Тема перенесена! |
Автор: aqually 13.10.2022, 11:18 |
Модератор: Сообщение скрыто. |