uses crt;
type
Sportsmen = record
fio: string[20];
bal: byte;
end;
var
a: array [1 .. 50] of Sportsmen;
sp, x, y: Sportsmen;
c: char;
n, i, j: integer;
begin
clrscr;
repeat
write('Количество спортсменов до 50 n=');
readln(n);
until n in [1 .. 50];
writeln('Введите данные о спортсменах');
for i := 1 to n do
begin
writeln('Спортсмен ', i);
write(' Фамилия: ');
readln(a[i].fio);
write(' Балл: ');
readln(a[i].bal);
end;
clrscr;
{ сортировка массива по убыванию баллов }
for i := 1 to n - 1 do
for j := i + 1 to n do
if a[i].bal < a[j].bal then
begin
sp := a[i];
a[i] := a[j];
a[j] := sp;
end;
{ вывод результатов }
writeln('Результаты в порядке занятых мест');
writeln;
writeln('----------------------------------');
writeln('| Место | Фамилия И.О. | Баллы |');
writeln('----------------------------------');
for i := 1 to n do
begin
write('|', i:4);
gotoXY(9, whereY);
write('| ', a[i].fio);
gotoXY(26, whereY);
write('| ', a[i].bal);
gotoXY(34, whereY);
writeln('|');
end;
writeln('----------------------------------');
readln
end.