Опишите используя структуру записи, таблицу соревнований(фамилия спортсмена, количество набранных очков).Составьте программу вывода на экран упорядоченного списка фамилий в зависимости от занятого места — Pascal(Паскаль)

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.

Leave a Comment

5 + 5 =