Если наибольший средний балл набрало больше одной школы — вывести количество таких школ
Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5-ти учеников района. Также известно, что в районе школы с некоторыми номерами не существуют.
На вход программе сначала подаётся число учеников, сдававших экзамен. В каждой из следующих N строк находится информация об учениках в формате:
<Фамилия> <Имя> <Номер школы> <Количество баллов>
где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов,
<Имя> — строка, состоящая не более чем из 20 символов без пробелов,
<Номер школы> — целое число в диапазоне от 1 до 99,
<Количество баллов> — целое число в диапазоне от 1 до 100.
Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).
Пример входной строки:
Иванов Иван 50 87
Пример выходных данных:
50 74
Другой вариант выходных данных:
11) Имеется список учеников разных школ, сдававших экзамен по информатике, с указанием их фамилии, имени, школы и набранного балла. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять номера школ, в которых средний балл выше, чем средний по району. Если такая школа одна, нужно вывести и средний балл (в следующей строчке). Известно, что информатику сдавали не менее 5 учеников. Кроме того, школ с некоторыми номерами не существует.
На вход программе в первой строке подается количество учеников списке N. В каждой из последующих N строк находится информация в следующем формате:
<Фамилия> <Имя> <Школа> <Балл>
где <Фамилия> - строка, состоящая не более, чем из 20 символов без пробелов, <Имя> - строка, состоящая не более, чем из 20 символов без пробелов, <Школа> - целое число от 1 до 99, <Балл> - целое число от 1 до 100.
Пример входной строки:
Иванов Сергей 50 87
Пример выходных данных, когда найдено три школы:
50 87 23
Пример вывода в том случае, когда найдена одна школа:
Средний балл = 85
12) Дан список результатов сдачи экзамена учащимися школ некоторого района, с указанием фамилии и имени учащегося, номера школы и итогового балла. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая определяет номера школ, в которых больше всего учащихся получило за экзамен максимальный балл среди всех учащихся района.
На вход программе в первой строке подается количество учащихся во всех школах района N. В каждой из последующих N строк находится информация в следующем формате:
<Фамилия> <Имя> <Номер школы> <Балл>
где < Фамилия > - строка, состоящая не более, чем из 20 символов без пробелов, <Имя> - строка, состоящая не более, чем из 20 символов без пробелов, <Номер школы> - число от 1 до 99, <Балл> - число от 0 до 100. Порядок следования строк - произвольный.
Пример входных данных:
б
Иванов Сергей 7 74
Сергеев Петр 3 82
Петров Кирилл 7 85
Кириллов Егор 3 82
Егоров Николай 7 85
Николаев Иван 19 85
Программа должна вывести номера школ, из которых наибольшее количество учащихся получило на экзамене максимальный балл среди всех учащихся района. Пример вывода для приведенного выше примера ввода:
Примечание. В данном примере максимальный балл по району равен 85, его набрало 2 учащихся из школы 7 и 1 учащийся из школы 19, поэтому выводится только номер школы 7.
При выполнении задания следует учитывать, что значение N может быть велико (до 10.000).
Часть 6-4-ДАТА
1) На вход программе подаются сведения о пассажирах, сдавших свой багаж в камеру хранения. В первой строке задано текущее время: через двоеточие два целых числа, соответствующие часам (от 00 до 21, ровно 2 символа) и минутам (от 00 до 59, ровно 2 символа). Во второй строке задается количество пассажиров N, которое не меньше 10, но не превосходит 1000. В каждой из последующих N строк находится информация о пассажирах в следующем формате:
<Фамилия> <Время освобождения ячейки>
где <Фамилия> - строка, состоящая не более, чем из 20 символов без пробелов, <Время освобождения ячейки> - через двоеточие два целых числа, соответствующие часам (от 00 до 21, ровно 2 символа) и минутам (от 00 до 59, ровно 2 символа). <Фамилия> и <Время освобождения ячейки> разделены ровно одним пробелом. Пример входных строк:
10:00
Иванов 12:00
Петров 10:12
Сидоров 12:12
Программа должна выводить список пассажиров, которые в ближайшие 2 часа должны освободить ячейки. Список должен быть отсортирован в хронологическом порядке освобождения ячеек. В данном случае программа должна вывести
Петров
Иванов
2)
3) На вход программы подаются сведения о спортсменах соревнования по бегу на длинные дистанции.
В первой строке сообщается количество спортсменов N, каждая из следующих N строк имеет формат:
<Фамилия > <Имя> <Страна> <Время старта><Время финиша> , где <Фамилия > - строка, состоящая не более чем из 20 символов, <Имя> - строка, состоящая не более чем из 12 символов, <Страна>- строка, состоящая не более чем из 20 символов, <Время старта><Время финиша> имеют формат чч.мм, где чч - часы, мм - минуты, разделенные двоеточием. <Фамилия > <Имя> <Страна> <Время старта><Время финиша> - разделены одним пробелом. Пример входных строк
Кузнецов Сергей USA 14:10 15:10
Светлов Андрей Russia 12:12 13:18
Петров Сергей Canada 10:04 10:55
Требуется написать программу, которая выводит нумерованный список спортсменов в порядке увеличения времени, затраченного на дистанцию, и название страны победителя (если победителей несколько, также вывести названия их стран). Время вывести в минутах.
Пример выходных строк:
1. Петров Сергей 51 мин. Canada
2. Кузнецов Сергей 60 мин.
3. Светлов Андрей 66 мин.
4) Имеется список людей с указанием их фамилии, имени и даты рождения. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять самого старшего человека из этого списка и выводить его фамилию и имя, а если имеется несколько самых старших людей с одинаковой датой рождения, то определять их количество.
На вход программе в первой строке подается количество людей в списке N. В каждой из последующих N строк находится информация в следующем формате:
<Фамилия> <Имя> <Дата рождения>
где <Фамилия> - строка, состоящая не более, чем из 20 символов без пробелов, <Имя> - строка, состоящая не более, чем из 20 символов без пробелов, <Дата рождения> - строка, имеющая вид ДД.ММ.ГГГГ, где ДД - двузначное число от 01 до 31, ММ - двузначное число от 01 до 12, ГГГГ - четырехзначное число от 1800 до 2100.
Пример входной строки:
Иванов Сергей 27.03.1993
Программа должна вывести фамилию и имя самого старшего человека в списке.
Пример выходных данных:
Иванов Сергей
Если таких людей, несколько, то программа должна вывести их количество. Пример вывода в этом случае: 3
5) На вход программе подаются 365 строк, которые содержат информацию о среднесуточной темпе-ратуре всех дней 2007 года. Формат каждой из строк следующий: сначала записана дата в виде dd.mm(на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел (для Бейсика — через запятую) записано значение температуры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки.Данная информация отсортирована по значению температуры, т. е. хронологический порядок нарушен. Требуется написать эффективную программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о месяцах с максимальной среднемесячной температурой. Найденные максимальные значения следует выводить в отдельной строке для каждого месяца в виде: номер месяца, значение среднемесячной температуры, округленное до одной цифры после десятичной точки.
6) На вход программы подается 366 строк, которые содержат информацию о среднесуточной температуре всех дней 2008 года. Формат каждой из строк следующий: сначала записана дата в виде dd.mm (на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел записано значение температуры - число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по значению температуры, то есть хронологический порядок нарушен. Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о месяце (месяцах), среднемесячная температура у которого (которых) наименее отклоняется от среднегодовой. В первой строке вывести среднегодовую температуру. Найденные значения для каждого из месяцев следует выводить в отдельной строке в виде: номер месяца, значение среднемесячной температуры, отклонение от среднегодовой температуры.
7) На вход программе подаётся 31 строка. Строки содержат информацию о дневных и ночных температурах декабря 2008 года. Формат каждой из строк следующий: сначала записана дата в виде dd (на запись номера дня в числовом формате отводится строго два символа), затем через пробел записаны значения дневной и ночной температур — числа со знаком плюс или минус. Даты вводятся в порядке возрастания. Требуется написать программу, которая будет выводить на экран информацию о периодах непрерывного повышения среднесуточной температуры. Найденные значения для каждого из периодов следует выводить в отдельной строке в виде: номер первого дня периода, номер последнего дня периода, значение среднесуточной температуры за период.
8) На вход программе подаются сведения о ячейках камеры хранения багажа. В первой строке - текущая дата - день (ровно две цифры, от 01 до 31), затем через точку - месяц (ровно две цифры, от 01 до 12). Во второй строке сообщается количество занятых ячеек N (не меньше 3, но не больше 1000). Каждая из следующих строк имеет формат:
<номер ячейки> <дата сдачи багажа>
Номер ячейки - это целое число, дата - 5 символов: день (ровно две цифры, от 01 до 31), затем через точку - месяц (ровно две цифры, от 01 до 12). Сведения отсортированы по номерам ячеек. Все даты относятся к одному календарному году. Считать, что в феврале 28 дней.
Нужно вывести номера тех ячеек, в которых багаж хранится более 3 дней в хронологическом порядке сдачи багажа. Например, если исходные данные были такие:
04.06
1000 01.06
1001 31.05
2007 21.05
то результат должен быть следующий:
9) Вводят день и месяц рождения через пробел. Найти, сколько в каждом месяце дней рождения.
10)