Дописать программу на языке freebasic.даны результаты бега n спортсменов в конькобежном многоборье на 4-ч стандартных дистанциях: 500м, 1000м, 5000м, 10000м. результаты(времена на дистанциях) должны вводится реальные(сек; мин., сек; мин., сек; мин., сек.сформировать таблицу по дистанциям и суммарные всех участников, приводя времена к 500-метровой дистанции(выражая все в секундах), число пропорционально времени в секундах. вывести таблицу, в которой участники соревнований отсортированы по местам, занятым ими( в формате: фамилия, по дистанциям, сумма , место).исходная информация вводится с клавиатуры.(далее идет сама прога).cls type turnir family as string vrema5 as single vrema10 as single vrema50 as single vrema100 as single end type input"vvedite kolichestvo uchastnikov",n dim ch(i) as turnir cls for i = 1 to n print " : "; i input "vvedite familiju: ", ch(i).family input "vvedite vrema(sec) 500m: ", ch(i).vrema5 input "vvedite vrema(sec) 1000m: ", ch(i).vrema10 input "vvedite vrema(sec) 5000m: ", ch(i).vrema50 input "vvedite vrema(sec) 10000m: ", ch(i).vrema100 next i print " za distancii(500m,1000m,5000m, " for i = 1 to n b1! = (ch(i).vrema5)* 0.1 b2! = (ch(i).vrema10)* 0.1 b3! = (ch(i).vrema50)* 0.1 b4! = (ch(i).vrema100)* 0.1 summb! = b1! +b2! +b4! +b3! print"familiya "; rtrim$(ch(i).family); " "; "balli: "; b1! ; " "; b2! ; " "; b3! ; " "; b4! ; " "; "summa ballov: "; summb! next iно у меня не получается отсортировать
```basic
CLS
TYPE turnir
family AS STRING
vrema5 AS SINGLE
vrema10 AS SINGLE
vrema50 AS SINGLE
vrema100 AS SINGLE
END TYPE
DIM SHARED ch(100) AS turnir
DIM SHARED places(100) AS INTEGER
DIM SHARED n AS INTEGER
INPUT "Введите количество участников: ", n
CLS
FOR i = 1 TO n
PRINT " : "; i
INPUT "Введите фамилию: ", ch(i).family
INPUT "Введите время (сек) на дистанции 500м: ", ch(i).vrema5
INPUT "Введите время (мин., сек) на дистанции 1000м: ", m, s
ch(i).vrema10 = m * 60 + s
INPUT "Введите время (мин., сек) на дистанции 5000м: ", m, s
ch(i).vrema50 = m * 60 + s
INPUT "Введите время (мин., сек) на дистанции 10000м: ", m, s
ch(i).vrema100 = m * 60 + s
NEXT i
FOR i = 1 TO n
summa = ch(i).vrema5 + ch(i).vrema10 + ch(i).vrema50 + ch(i).vrema100
places(i) = summa
NEXT i
FOR i = 1 TO n - 1
FOR j = i + 1 TO n
IF places(i) > places(j) THEN
temp = places(i)
places(i) = places(j)
places(j) = temp
tempstr = ch(i).family
ch(i).family = ch(j).family
ch(j).family = tempstr
END IF
NEXT j
NEXT i
PRINT "Фамилия | 500м | 1000м | 5000м | 10000м | Сумма | Место"
FOR i = 1 TO n
PRINT ch(i).family;
PRINT " | ";
PRINT ch(i).vrema5;
PRINT " | ";
PRINT ch(i).vrema10;
PRINT " | ";
PRINT ch(i).vrema50;
PRINT " | ";
PRINT ch(i).vrema100;
PRINT " | ";
PRINT places(i);
PRINT " | ";
PRINT i;
PRINT
NEXT i
```
Программа начинается с определения пользовательского типа данных "turnir", который содержит необходимые поля для хранения информации о спортсмене.
Затем определяется массив структур "ch", в котором будет храниться информация о каждом спортсмене.
Вводится количество участников и производится цикл для ввода данных о каждом спортсмене. Время на каждой дистанции вводится отдельно и приводится к единому формату в секундах.
Затем производится расчет суммарного времени на всех дистанциях для каждого спортсмена и сохраняется в массиве "places".
После этого производится сортировка участников в порядке возрастания суммарного времени с использованием алгоритма сортировки пузырьком.
Наконец, выводится таблица соответствий фамилии спортсмена, времени на каждой дистанции, суммарному времени и занятому месту.