Форум » Обработка числовых последовательностей » можете оценить выполнение C4? » Ответить

можете оценить выполнение C4?

VON: Задача из примеров C4, [quote]На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия> <Инициалы> <номер школы> где <Фамилия> – строка, состоящая не более чем из 20 символов, <Инициалы> – строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> – не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки: Иванов П.С. 57 Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что N>=1000.[/quote] Вот мой код: {объявляем переменные N,i,min:integer, sch:array[1..99] считываем количество учащихся цикл обнуляем элементы массива со счетчиками школ, считываем фамилию и инициалы, а главное номер школы. в массив от этого номера увеличиваем счетчик. создаем цикл, сравнивающий конкретный элемент массива с эталоном минимума(если в этом массиве больше нуля} var N,i,min:integer;{кол-во участников, счетчик для циклов, эталон минимума количества участников} scn:byte;{номер школы} sch:array[1..99] of integer;{массив с количеством учеников в опр школе} ch:char;{для считывания фамилии и имени} begin min:=0; readln(N); for i:=1 to 99 do sch:=0; for i:=1 to N do begin repeat read(ch) until ch=' '; repeat read(ch) until ch=' '; readln(scn); sch[scn]:=sch[scn]+1; end; for i:=1 to 99 do begin if sch>0 then if min=0 then min:=sch else if min>sch then min:=sch; end; for i:=1 to 99 do if sch=min then writeln(i); end.

Ответов - 2

oval: видимо везде надо понимать sch[ i] практически эталонное решение на 4 балла

VON: oval, не понял вас



полная версия страницы