Я создала одномерный массив, где индексы элементов - номера школ, а значения элементов - количество учеников, выступавших от этой школы.
Первый цикл - обнуление массива.
Второй цикл - считывание входных данных и заполнение массива.
Третий цикл (while) - поиск первой школы (с минимальным номером), котороя предоставила хотя бы одного ученика.
Четвертый цикл - посик минимального, но не нулевого элемента массива.
Пятый цикл - вывод номеров элементов массива, чье значение равняется минимальному (но не нулевому).
Мое решение - три прохода по массиву (если не считать ввода данных).
var
a: array [1..99] of integer;
i, k, n, m: integer;
s, t: string;
begin
assign (input, 'input.txt'); reset (input);
assign (output, 'output.txt'); rewrite (output);
readln (n);
for i:=1 to 99 do
a[i]:=0;
for i:=1 to n do
begin
readln (s); {считываем строку}
k:=length (s); {определяем ее длину}
t:=s[k-1]+s[k]; {отрезаем последние два символа - это или двузначное число, или пробел и однозначное число}
val (t, m, k); {переводим строку в число - номер школы}
a[m]:=a[m]+1; {прибавляем единицу к количеству детей от данной школы}
end;
i:=1;
while a[i]=0 do i:=i+1; {ищем первую участвующую школу}
m:=a[i];
for k:=i to 99 do
if (a[k]<>0) and (a[k]<m) {поиск минимального ненулевого элемента}
then m:=a[k];
for i:=1 to 99 do
if a[i]=m then write (i:3); {вывод результата}
close (input);
close (output);
end.
Вот мое решение.
Я создала одномерный массив, где индексы элементов - номера школ, а значения элементов - количество учеников, выступавших от этой школы.
Первый цикл - обнуление массива.
Второй цикл - считывание входных данных и заполнение массива.
Третий цикл (while) - поиск первой школы (с минимальным номером), котороя предоставила хотя бы одного ученика.
Четвертый цикл - посик минимального, но не нулевого элемента массива.
Пятый цикл - вывод номеров элементов массива, чье значение равняется минимальному (но не нулевому).
Мое решение - три прохода по массиву (если не считать ввода данных).
var
a: array [1..99] of integer;
i, k, n, m: integer;
s, t: string;
begin
assign (input, 'input.txt'); reset (input);
assign (output, 'output.txt'); rewrite (output);
readln (n);
for i:=1 to 99 do
a[i]:=0;
for i:=1 to n do
begin
readln (s); {считываем строку}
k:=length (s); {определяем ее длину}
t:=s[k-1]+s[k]; {отрезаем последние два символа - это или двузначное число, или пробел и однозначное число}
val (t, m, k); {переводим строку в число - номер школы}
a[m]:=a[m]+1; {прибавляем единицу к количеству детей от данной школы}
end;
i:=1;
while a[i]=0 do i:=i+1; {ищем первую участвующую школу}
m:=a[i];
for k:=i to 99 do
if (a[k]<>0) and (a[k]<m) {поиск минимального ненулевого элемента}
then m:=a[k];
for i:=1 to 99 do
if a[i]=m then write (i:3); {вывод результата}
close (input);
close (output);
end.