|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.01.2019, 21:29 | #1 |
Новичок
Джуниор
Регистрация: 28.01.2019
Сообщений: 1
|
[C++] класс «домашняя библиотека». Как реализовать вывод 5 самых больших книг?
Описать класс «домашняя библиотека» для хранения таких сведений, как
номер в каталоге, название, автор, количество страниц. Реализовать методы для ввода и вывода всей информации, вывод информации о пяти самых больших книгах. Не пойму как реализовать вывод информации о пяти самых больших книгах. |
29.01.2019, 06:57 | #2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Проще всего отсортировать по убыванию и взять первые пять.
|
29.01.2019, 12:10 | #3 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,620
|
if xxx[i].yy > vvv[1].zzz { vvv[5].zzz = vvv[4].zzz ; vvv[4].zzz = vvv[3].zzz ; vvv[3].zzz = vvv[2].zzz ; vvv[2].zzz = vvv[1].zzz ; vvv[1].zzz = xxx[4].yy ; } - ну это сама суть без конкретного описания структур. PS Попробовал - убедился: обшибся, зряшный совет. Если нам попадется максимальное число, следующее по величине уже никогда в стек не попадет. Сравнивать надо не с вершиной стека, а с минимальным ненулевым его элементом. Возможно, в быстродействии не выиграем, но не исключено, что и проиграем. Зависит от конкретного набора данных. Комбинированный алгоритм: сортировку по убыванию производить, но не полную, а только 5 проходов, а остальные уж пусть лежат как хотят. Пардон, сухонького перебрал Последний раз редактировалось digitalis; 29.01.2019 в 17:03. |
29.01.2019, 12:20 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Ну или использовать std::nth_element
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать структуру «Домашняя библиотека» | Андрей Иванов | Помощь студентам | 3 | 25.05.2015 23:22 |
Курсовая: Домашняя библиотека | Sniti01 | Общие вопросы C/C++ | 2 | 11.05.2013 09:39 |
Выбрать 3 самых больших числа из строки? | Ok-Alex | Microsoft Office Excel | 1 | 02.11.2011 21:31 |
Ввести массив вещественных чисел NxM для заданной строки массива найти два самых больших числа (на C#) | владислав10 | Помощь студентам | 1 | 10.04.2011 14:10 |
База данных (Домашняя Библиотека) | Redas | C/C++ Базы данных | 3 | 26.11.2010 20:58 |