const nn=100;type Abit=record fio:string; ball:array[1..3] of byte; from:string; midb:real end;var t:Abit; mAb:array[1..nn] of Abit; i,j,n,m:integer; midinst:real;begin { ввод исходных данных } Write('Количество абитуриентов (до 100): '); Readln(n); Write('Средний балл по институту: '); Readln(midinst); m:=0; for i:=1 to n do begin Writeln('Абитуриент № ',i); With mAb[i] do begin Write('Фамилия, И.О.: '); Readln(fio); Write('Баллы по трем предметам через пробел: '); Readln(ball[1],ball[2],ball[3]); midb:=(ball[1]+ball[2]+ball[3])/3; Write('Место жительства: '); Readln(from) end; if mAb[i].midb>midinst then m:=m+1; end; { простейшая обменная сортировка по убыванию } for i:=1 to n-1 do for j:=i+1 to n do if mAb[i].midb<mAb[j].midb then begin t:=mAb[i]; mAb[i]:=mAb[j]; mAb[j]:=t end; { вывод } Writeln; Writeln('Количество поступающих со средним баллом выше среднеинститутского: ',m); for i:=1 to n do with mAb[i] do Writeln(fio,' ',ball[1]:2,ball[2]:2,ball[3]:2,' ',from)end.
Тестовое решение:Количество абитуриентов (до 100): 4Средний балл по институту: 5.94Абитуриент № 1Фамилия, И.О.: Иванов А.Г.Баллы по трем предметам через пробел: 9 7 5Место жительства: ВологдаАбитуриент № 2Фамилия, И.О.: Петров Л.Л.Баллы по трем предметам через пробел: 9 9 9Место жительства: ГрязевецАбитуриент № 3Фамилия, И.О.: Раковский Д.Г.Баллы по трем предметам через пробел: 4 4 5Место жительства: СоколАбитуриент № 4Фамилия, И.О.: Акимова Я.С.Баллы по трем предметам через пробел: 9 5 4Место жительства: ХаровскКоличество поступающих со средним баллом выше среднеинститутского: 3Петров Л.Л. 9 9 9 ГрязевецИванов А.Г. 9 7 5 ВологдаАкимова Я.С. 9 5 4 ХаровскРаковский Д.Г. 4 4 5 Сокол