Записи. Составить список команд - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

На сборах по подготовке к олимпиаде по физике участвовало всего N учеников из 9,10 и 11х классов. Про каждого известно фамилия, имя, класс, баллы за задачи. Требуется составить список команд для каждой параллели по 5 человек отобрав тех, у кого больше всего баллов.
У меня некорректно работает поиск наивысшего балла. Если введу количество учеников <=4, то макс.балл найдется, если >=5, то показывает уже не макс.балл. И как можно сформировать список команды по полученным данным?

Решение задачи: «Записи. Составить список команд»

textual
Листинг программы
rez:=a[1].kol;
   for i:=1 to n do
     if a[i].kol>=rez then begin rez:=a[i].kol;
                                 fam1:=a[i].fam; {fam1 переменная типа string}
end;
rez2:=a[1].kol;
   for i:=1 to n do
     if (a[i].kol>=rez2) and (a[i].fam<>fam1)  then begin rez2:=a[i].kol;
                                 fam2:=a[i].fam; {fam2 переменная типа string}
end;

Объяснение кода листинга программы

  1. Создаётся переменная rez типа Integer, которая инициализируется значением a[1].kol.
  2. Затем идёт цикл for, который выполняется n раз.
  3. Внутри цикла проверяется условие: если значение a[i].kol больше или равно значению переменной rez, то переменная rez обновляется значением a[i].kol.
  4. Также внутри цикла проверяется условие: если значение a[i].fam не равно fam1, то переменная fam2 обновляется значением a[i].fam.
  5. По завершении цикла переменные rez и fam2 сохраняются в соответствующие переменные.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы