![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
-Анюта- |
![]()
Сообщение
#1
|
Гость ![]() |
Люди, пожалуйста, помогите решить задачу! Угроза недопуска к экзаменам
![]() Организовать типизированный файл, в котором находятся данные об участниках соревнований по многоборью: фамилия, имя, страна, массив результатов. Найти победителя – участника, набравшего наибольшее количество баллов. Напишите встроенную подпрограмму-процедуру для организации безопасного ввода фамилии и имени участника, а также страны. |
![]() ![]() |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Извини, спутал.
Интересно, что ведь сначала написал все, чтоб искать именно участника (в качестве доказательства - наличие слов "либо равно"), а потом вдруг решил, что это не надо (стукнуло в голову!) и убрал лишние строки.. ![]() Вот исправленный вариант. Заводишь переменную типа base, скажем Winner Заводишь real переменную, скажем MaxRez. Кладешь туда 0 (ноль) Читаешь файл, проходишься по всем записям, читаешь число rez. Сравниваешь его с MaxRez. Если оно меньше, чем MaxRez - ничего не делаешь, переходишь к следующей записи Если оно больше либо равно MaxRez - присваиваешь его значения переменной MaxRez, а значение всего рекорда присваиваешь переменной Winner. В конце цикла максимальный результат лежит в MaxRec, а победитель - в Winner. Но тут есть одно но: результаты нескольких участников могут быть равны, тогда победитель не один (именно поэтому я проверяю равенство с большестью, а не с меньшестью, что было бы рациональнее, если ищется только максимальный результат). Выход отсюда не совсем тривиален. Нужно либо завести еще один массив типа base, но непонятки возникают с его размерностью. Можно положить ее такой же, как у исходного массива, но если волнует проблема минимизации памяти, то лучше сделать список. Правда, в задании не сказано, что делать с найденными победителями. Если просто печатать их данные, то можно избежать многих проблем ![]() И еще раз извиняюсь за отъезд крыши в неподходящий момент.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 9:21 |