Найти класс с наибольшим количеством учеников - Turbo Pascal
Формулировка задачи:
Сведения об ученике состоят из его имени и фамилии и названия класса, в котором он учится (например, 11а). Записать сведения о n учеников. Информацию об учениках вывести на экран в виде таблицы. Найти класс с наибольшим количеством учеников.
Кто то знает?
Сам ввод вывод не трудно ведь
Но как определить класс в котором найбольше всего учеников?
Наперед спасибо
Решение задачи: «Найти класс с наибольшим количеством учеников»
textual
Листинг программы
//первый элемент массива классов
k[1].kls:=u[1].kls; //перепишем в него название класса из массива учеников
k[1].kol:=1; //количество учеников пока =1
m:=1; //размер массива классов=1
for i:=2 to n do //смотрим остальных учеников
begin
f:=0;//пока нет в массиве класов такого названия класса
for j:=1 to m do
if u[i].kls=k[j].kls then //если совпало
begin
inc(k[j].kol);//добавляем ученика
f:=1; //меняем флаг, есть такой класс в массиве
end;
if f=0 then //если нет
begin
inc(m); //увеличим размер массива
k[m].kls:=u[i].kls;//запишем этот класс
k[m].kol:=1; //ученик пока 1
end;
end;
imax:=1;//ищем класс в котором больше всех учеников
for i:=2 to m do
if k[i].kol>k[imax].kol then imax:=i;//если больше чем до того, то запоминаем этот номер
writeln('Наибольшее число учеников=',k[imax].kol,' в классе ',k[imax].kls);//выводим название класса и кол. учеников
readln
end.