![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Gl00M |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Вот у меня есть список:
Код Иванова Ирина Ж 12-52-17 Емельянов Иван М 13-15-26 .... Ну и так далее.. в списке много повторяющихся фамилий (именно фамилий!). Как упорядочить их по невозрастанию? Т.е. на 1м месте должны, по идеи, стоять все Ивановы (т.к. их больше всего), а на последнем, допустим, Ленин. Массив сам состоит из 20 строк и 4 колонок... ![]() спасибо! |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Значит, тогда так:
сначала сортируешь массив любым способом (из FAQ-а) по невозрастанию ПЕРВОГО элемента (фамилии), а потом (с уже отсортированным массивом) делаешь следующее: 1) ищешь максимальную последовательность одинаковых подряд идущих фамилий (запоминая ее начало, т.е. ты должен в любой момент знать, где в массиве начинается самая длинная последовательность одинаковых фамилий, и сколько именно одинаковых фамилий она содержит)... 2) когда макс. последовательность найдена, просто меняешь местами max (это ее длина) первых элементов массива с элементами, начинающимися с max_pos (это - индекс начала максимальной последовательности)... 3) затем начинаешь искать следующую макс. последовательность. Естественно, что первые max элементов в расчет уже приниматься не должны, они уже стоят на мечтах, поэтому начинаешь с max+1... Продолжать до тех пор, пока общее число перемещенных на втором этапе элементов не сравняется с длиной исходного массива... Код не привожу, ибо "Теория" ![]() klem4, не то... ![]() Надо вывести не просто по алфавиту, а по частоте фамилии... |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 14:01 |