Составить список студентов, включающий ФИО, факультет, курс, группу, результат забега. Определить трех лучших в забеге

code: #pascal
program PascalGuru;
 
type zapisi =record
                   fio:string;
                   fak:string;
                   krs:string;
                   grp:string;
                   rez:real;
              end;
 
var m:array[1..26] of zapisi;
    i,n:integer;
{*********************************}
procedure exchange(var a,b:real);
var c:real;
begin
c:=a; a:=b; b:=c; end;
procedure exchanges(var a,b:string);
var c:string;
begin
c:=a; a:=b; b:=c; end;
 
procedure Sorting (n:integer);
var i:integer; swop:boolean;
begin
repeat
swop:=false;
for i:=1 to n-1 do
if m[i].rez<m[i+1].rez then begin
exchanges(m[i].fio,m[i+1].fio);
exchanges(m[i].fak,m[i+1].fak);
exchanges(m[i].krs,m[i+1].krs);
exchanges(m[i].grp,m[i+1].grp);
exchange(m[i].rez,m[i+1].rez); swop:=true; end;
n:=n-1;
until not swop;
end;
 
{*********************************}
begin
write('Skoliko uchaschihsya hotite zapisati?');
readln(n);
for i:=1 to n do begin
writeln('Zapisi #',i,':');
write('FIO: '); readln(m[i].fio);
write('Fakulitet: '); readln(m[i].fak);
write('Kurs: '); readln(m[i].krs);
write('Gruppa: '); readln(m[i].grp);
write('Rezulitat zabega: '); readln(m[i].rez);
                 end;
 
writeln;  writeln;
writeln('Vy vveli sleduyuschih uchaschihsya:');
for i:=1 to n do   writeln(m[i].fio);
 
writeln;writeln;
 
Sorting(n);
writeln('3 luchshih:');
for i:=1 to 3 do
writeln(m[i].fio,' | ',m[i].fak,' | ',m[i].krs,' | ',m[i].grp,' | ',m[i].rez:0:2);
 
readln;
end.      
Поделиться:

Похожие статьи: