![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.12.2011
Сообщений: 78
|
![]()
Результаты соревнований по бегу записаны в текстовом файле в формате:
<Номер участника><Фамилия><Имя><Минуты>: <Секунды><Сотые доли> Выведите в файл информацию о победителях соревнований (три призовых места) в формате: <Номер места><Время в секундах><Фамилия><Имя><Номер участника>. При этом, если несколько участников пробежали дистанцию за одно и то же время, то они занимают одно и то же время |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
задачка элементарная с точки зрения алгоритма, но достаточно занудная с точки зрения разбора строки...
варианты решения. 1-й. прочитать целиком файл, сразу парся(разбирая) (parse) каждую строку на нужные элементы. Файл читать в любую структуру (хоть статический массив, хоть динамическую структуру памяти). Дальше обработку (поиск) вести в полученных данных (я бы отсортировал по времени и потом брал нужные, пока не получим три нужные призовые места. но возможно и искать три минимальных значения...) 2-й способ. прочитать строчку. проверить, не занимает ли время данного участника призовое место (поиск трёх минимальных значений). Можно сохранять в памяти только найденные минимальные значения (с указанием номера и фамилии участника). Способ эффективнее в плане занимаемой памяти и быстродействия, но немного замороченней алгоритмически... |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Текстовые файлы Паскаль | GamBitFRK | Помощь студентам | 2 | 21.05.2012 16:57 |
Текстовые файлы(Паскаль) | Cas01 | Помощь студентам | 8 | 19.12.2010 21:37 |
Текстовые файлы!(Паскаль) | Cas01 | Помощь студентам | 3 | 18.12.2010 15:43 |
Текстовые файлы. Паскаль | катя123 | Помощь студентам | 3 | 06.01.2010 23:38 |