1 / 1 / 3
Регистрация: 27.12.2014
Сообщений: 68
|
||||||
1 | ||||||
Определение победителей01.03.2015, 15:54. Показов 2083. Ответов 1
Метки нет (Все метки)
Добрый день. Только недавно начал изучать Delphi. Требуется помощь в следующей задаче.
Кликните здесь для просмотра всего текста
Каждый участник регистрируется на сайте игры под определённым игровым именем. Имена участников не повторяются.
Чемпионат проводится в течение определённого времени. В любой момент этого времени любой зарегистрированный участник может зайти на сайт чемпионата и начать зачётную игру. По окончании игры её результат (количество набранных очков) фиксируется и заносится в протокол. Участники имеют право играть несколько раз. Количество попыток одного участника не ограничивается. Окончательный результат участника определяется по одной игре, лучшей для данного участника. Более высокое место в соревнованиях занимает участник, показавший лучший результат. При равенстве результатов более высокое место занимает участник, раньше показавший лучший результат. В ходе соревнований заполняется протокол, каждая строка которого описывает одну игру и содержит результат участника и его игровое имя. Протокол формируется в реальном времени по ходу проведения чемпионата, поэтому строки в нём расположены в порядке проведения игр: чем раньше встречается строка в протоколе, тем раньше закончилась соответствующая этой строке игра. Напишите эффективную, в том числе по памяти, программу, которая по данным протокола определяет победителя и призёров. Гарантируется, что в чемпионате участвует не менее трёх игроков. Перед текстом программы кратко опишите алгоритм решения задачи и укажите используемый язык программирования и его версию. Описание входных данных Первая строка содержит число N- общее количество строк протокола. Каждая из следующих N строк содержит записанные через пробел результат участника (целое неотрицательное число, не превышающее 100 миллионов) и игровое имя (имя не может содержать пробелов). Строки исходных данных соответствуют строкам протокола и расположены в том же порядке, что и в протоколе. Гарантируется, что количество участников соревнований не меньше 3. Описание выходных данных Программа должна вывести имена и результаты трёх лучших игроков по форме, приведённой ниже в примере. Пример входных данных: 9 69485 Jack 95715 qwerty 95715 Alex 83647 М 197128 qwerty 95715 Jack 93289 Alex 95715 Alex 95710 M Пример выходных данных для приведённого выше примера входных данных: 1 место. qwerty (197128) 2 место. Alex (95715) 3 место. Jack (95715) Я реализовал эту задачу на Pascal'е. В Lazarus я набросал интерфейс. В memo1 нужно записывать список участников и их очки, потом сохранять в файл (я попробовал сделать с возможностью сохранять, даже если в пути есть русские буквы), открывать с отображением в том же memo1, а по нажатию "Выполнить" в memo2 должны быть отобраны 3 победителя.
0
|
01.03.2015, 15:54 | |
Ответы с готовыми решениями:
1
Из списка участников конкурса, с их количеством баллов, выбрать 3-х победителей Определение победителей в соревнованиях по яйцеводству Непростой запрос на определение победителей Количество победителей по классам |
1 / 1 / 3
Регистрация: 27.12.2014
Сообщений: 68
|
||||||
03.03.2015, 17:10 [ТС] | 2 | |||||
Сообщение было отмечено Ovenvan как решение
Решение
Написал код на Delphi. Только вот программа работает некорректно. Не могли бы вы помочь с решение этой проблемы.
0
|
03.03.2015, 17:10 | |
03.03.2015, 17:10 | |
Помогаю со студенческими работами здесь
2
Вывести победителей заплыва Найти количество победителей олимпиады Определить победителей в соревновании по стрельбе Задача про пары победителей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |