Найти - Пользователи
Полная версия: Задача C4 из ЕГЭ
Начало » Центр помощи » Задача C4 из ЕГЭ
1
polsovatel
Люди добрые, помогите пожалуйста решить данную задачу, а то второй день мучаюсь…

На вход программе подаются сведения о сдаче экзаменов учениками 9–х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат:

<Фамилия> <Имя> <оценки>,

где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:

Иванов Петр 4 5 3

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и имена трех худших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трех худших, то следует вывести и их фамилии и имена.
ajib6ept
Покажи свой вариант, что не получается - подскажем.
polsovatel
да я особо ничего не написал.
Мысль такая:
1)записываем в переменную все про ученика
2)записываем в другую переменную имя и фамилию(что нам надо вывести)
3)создаем список и записываем туда оценки, а дальше складываем элементы списка и сравниваем.

Только как реализовать не знаю
ajib6ept
polsovatel
Только как реализовать не знаю

Предлагаю изучить основы, можно в онлайне тут и тут, и очевидные вопросы вопросы вида “как записать в переменную данные, веденные с клавиатуры” отпадут.
polsovatel
Я читал уже. Вроде все знаю, но не могу решить задачу и все тут. Помогите
JOHN_16
polsovatel
не похоже что вы и пытались ее решить.

Говорить буду про Python 2, в 3 немного по другому
Для начала можно попробовать так:
* задаем defaultdict словарь с типом данных list
* в цикле обрабатывает входные данные: считаем средний бал ученика. Используем это значение как ключ словаря и добавляем имя и фамилию ученика в значение этого словаря т.е. MyDict.append(student_name)
* словарь преобразуем в список значений MyDict.items()
* полученный список сортируем методом sort или функцией sorted
* первые 3 элемента соответствуют первым трех худшим баллам успеваемости, осталось только вывести имена студентов

Дальше вам надо этот алгоритм воплотить в жизнь, пользуясь документацией и учебниками/книгами.

После этого надо подумать а является ли это самым эффективным решением. Думаю нет. А стоит ли писать что то еще - если вы предыдущие сами не осилили ..то думаю нет
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB