На вход программе подаются сведения об учениках некоторой средней
Условие
На вход программе подаются сведения об учениках некоторой средней школы. В первой строке сообщается количество учеников N, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <класс>, где <Фамилия> — строка, состоящая не более чем из 20 символов, <Имя> — строка, состоящая не более чем из 15 символов, <класс> — год обучения (от 1 до 12) и заглавная буква (от «А» до «Я») без пробела. <Фамилия> и <Имя>, а также <Имя> <класс> разделены одним пробелом. Пример входной строки:Иванов Петр 10Б Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о параллелях (годе обучения) с наибольшим числом учеников. Программа должна выводить на экран в первой строке количество учеников в искомых параллелях, а во второй строке — в порядке возрастания номера этих параллелей через пробел. Например: 100 1 7 11
Формат задания
Решение по шагам
Как рассуждать
Решение. Программа должна верно читать входные данные, не запоминая их все, а сразу подсчитывая в массиве, хранящем 12 целых чисел, количество учащихся в каждой из параллелей. Затем с использованием этого массива ищется параллель с максимальным числом учеников. За дополнительный просмотр этого массива распечатывается информация об искомых параллелях. Баллы начисляются только за программу, которая решает задачу хотя бы для частного случая (например, параллель с максимальным количеством учеников единственна). Пример правильной и эффективной программы на языке Паскаль: var рс:array[1..12] of integer; р :
Осталось ещё 7 шагов
.12;class:string[3]; с:char;max, i…
i = 1WHILE NOT (с = " ") i = i - 1c = MID (s…
WEND i = i + 1с = MID(s, i…
WHILE NOT (с = " ") i = i + 1c = MID(s, i…
WENDs = MID (s, i + 1, 3)IF MID(s,…
>= "0" AND MID(s,…
< = "2" THENp = (ASC(MID(s, 1, 1))…
Бесплатно · займёт минуту