Uses crt;
type oc=record
per,bt,tr:integer;
end;
ab=record
fam,im:string;
ocen:oc;
end;
var b:array [1..50] of ab;
l:ab;
i,n,g,k,h:integer;
begin
clrscr;
writeln ('введи количество абитуриентов');
readln (n);
Writeln ('Вводи фамилии, имена и 3 оценки');
for i:=1 to n do
with b[i] do
begin
readln (fam);
readln (im);
readln (ocen.per,ocen.bt,ocen.tr);
end;
clrscr;
for j:=1 to n do
for i:=1 to n-1 do
if b[i].fam>b[i+1].fam then
begin
l:=b[i];
b[i]:=b[i+1];
b[i+1]:=l;
end;
writeln ('Список всех аббитуриентов:');
for i:=1 to n do
writeln (b[i].fam,' ',b[i].im,' ',b[i].ocen.per,' ',b[i].ocen.bt,' ',b[i].ocen.tr);
writeln ('Список допущенных аббитуриентов');
for i:=1 to n do
with b[i] do
begin
with ocen do
if (per>30) and (bt>30) and (tr>30) and (per+bt+tr>140) then writeln (fam,' ',im,' ',ocen.per,' ',ocen.bt,' ',ocen.tr);
end;
readln;
end.