Const nmax=30;
Var ten: array [1..nmax] of string[8] ; ho : array [1..nmax] of string[35] ;
tb : array [1..nmax] of real ; n,i,j :byte; a:string[8]; b: string[35]; c:real;
Begin write(‘nhap so hs n= ‘); readln(n);
for i:=1 to n do
begin write(‘nhap ho dem hs ‘ , I , ‘la= ‘);readln(ho[i]);
write(‘nhap ten hs ‘ , I , ‘la= ‘);readln(ten[i]);
write(‘nhap tb hs ‘ , I , ‘la= ‘);readln(tb[i]);
end;
for i:= n downto 2 do
for j:=1 to i-1 do
if ten[j]>ten[j+1] then
begin a:=ten[j]; ten[j]:=ten[j+1]; ten[j+1]:=a;
b:=ho[j]; ho[j]:=ho[j+1]; ho[j+1]:=b;
c:=tb[j];tb[j]:=tb[j+1];tb[j+1]:=c;
end;
for i:=1 to n do writeln(ho[i]:40,ten[i]:10,tb[i]:10:2); readln;
end.