на входе вводится некоторое число строк(задается пользователем). Строки имеют следующий формат <Фамилия> <Имя> <Оценка 1> <Оценка 2> <Оценка 3>. Требуется найти 3 лучших учеников по среднему баллу и вывести их фамилии и имена. Если кто то набрал такой же средний бал что и один из тройки то и их имена и фамилии тоже вывести — Pascal(Паскаль)

type 
uchen=record; 
          f,i:string[20];
          o1,o2,o3:byte;
          end;
var m:array[1..50] of uchen;
     n,i:byte;
     s,s1:string;
     t,c:integer;
begin
write('n=');readln(n);
for i:=1 to n do
 begin
   writeln('Введите данные ',i,' ученика:');
{вводим строку типа Иванов Иван 4 5 5}
   readln(s);
   m[i].f:=copy(s,1,pos(' ',s)-1);//первое слово до пробела-фамилия
   delete(s,1,pos(' ',s));//удаляем
   m[i].i:=copy(s,1,pos(' ',s)-1);//второе слово-имя
   delete(s,1,pos(' ',s));//удаляем
   s1:=copy(s,1,pos(' ',s)-1);//третье слово-оценка 1
   val(s1,t,c);//преобразуем в число
   m[i].o1:=t; //в запись
   delete(s,1,pos(' ',s));
   s1:=copy(s,1,pos(' ',s)-1);//четвертое слово-оценка 2
   val(s1,t,c);
   m[i].o2:=t; 
   delete(s,1,pos(' ',s));
   val(s,t,c);//последнее слово-оуека 3
   m[i].o2:=t; 
 end;

Leave a Comment

54 + = 58