Определить количество абитуриентов, средний балл которых выше среднего балла по институту. Вывести список поступающих, причем первыми в списке идут абитуриенты, сдавшие все экзамены на 9.
Дана ведомость абитуриентов, сдавших вступительные экзамены в институт (ее можно дополнить):
Ф.И.О. Оценки Местожительство
Иванов А.Г. 9 7 5 Вологда
Петров Л.Л 9 9 9 Грязовец
Раковский Д.Г. 4 4 5 Сокол
Акимова Я.С. 9 5 4 Харовск
Составьте задачу на Паскале пожалуйста =)
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[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 Сокол
