Есть некая задача: машинки ездят по кругу, нужно подсчитывать кол-во пройденных кругов и определять победителя. Время заезда задано.
Подсчет кругов осуществляется в ручном режиме, т.е. нажатием соответствующей кнопки.
А затруднение вызвал следущий вопрос: допустим, две машины проехали заезд с одинаковым кол-вом кругов. Тогда мы сравниваем время, за которое эти самые круги были пройдены.
Что мы имеем: два массива. Один содержит кол-во пройденных каждой машиной кругов. Второй - время в секундах, прошедшее с момента старта до сигнала о прохождении последнего круга.
А теперь самое интересное. Как теперь правильно отсортировать результаты гонки? Вот ломаю голову, а ничего умного не получается..
Может быть вы поможете??
Помогите с алгоритмом сортировки
- Реклама
- xelos
- Потрогал лапой паяльник
- Сообщения: 336
- Зарегистрирован: Пн мар 20, 2006 13:05:08
- Контактная информация:
что-то я не очень понял условие.
время заезда задано и если за это время машины проехали одинковое кол-во кругов, то по какому критерию определяется победитель? Общее время-то одинаковое будет. и кол-во кругов одинаковое.
про массивы тоже не очень понятно. по идее это не массивы а простые переменные (или сохраняется время прохождения каждого круга для каждой машины?).
время заезда задано и если за это время машины проехали одинковое кол-во кругов, то по какому критерию определяется победитель? Общее время-то одинаковое будет. и кол-во кругов одинаковое.
про массивы тоже не очень понятно. по идее это не массивы а простые переменные (или сохраняется время прохождения каждого круга для каждой машины?).
Я просто верю в то, что рушить догмы - лучший способ не стареть.
- Pavel V.
- Мявтор!
- Сообщения: 384
- Зарегистрирован: Ср май 17, 2006 18:39:01
- Откуда: Москва
- Контактная информация:
Да, время заезда задано. Но если за это время несколько участников проехали одинаковое количество кругов - это не значит, что они ЭТИ круги проехали за одно и то же время.
Просто один может на момент окончания заезда находиться практически у финишной черты (пересечение которой добавило бы ему круг), а другой только пересечь ее. Естественно, у первого время прохождения кругов будет меньше, чем у второго.
А насчет массивов - да, можно считать, что просто переменные.
Ух.. Надеюсь, внятно объяснил
Я старался 
Просто один может на момент окончания заезда находиться практически у финишной черты (пересечение которой добавило бы ему круг), а другой только пересечь ее. Естественно, у первого время прохождения кругов будет меньше, чем у второго.
А насчет массивов - да, можно считать, что просто переменные.
Ух.. Надеюсь, внятно объяснил
- xelos
- Потрогал лапой паяльник
- Сообщения: 336
- Зарегистрирован: Пн мар 20, 2006 13:05:08
- Контактная информация:
тогда не хватает еще данных - нужно знать расстояние, оно как-то измеряется?
потому что если основываться только на времени прохождения целых кругов - вывод кто выиграл сделать нельзя. При условии, что победитель - тот, кто дальше всех проехал.
P.S. не для картинга устройство?
потому что если основываться только на времени прохождения целых кругов - вывод кто выиграл сделать нельзя. При условии, что победитель - тот, кто дальше всех проехал.
P.S. не для картинга устройство?
Я просто верю в то, что рушить догмы - лучший способ не стареть.
- Pavel V.
- Мявтор!
- Сообщения: 384
- Зарегистрирован: Ср май 17, 2006 18:39:01
- Откуда: Москва
- Контактная информация:
xelos, расстояние никак не измеряется. Программа должна определять победителя именно по времени прохождения целого количества кругов. Ведь очевидно, что если один человек проехал, скажем, 4.8 круга, а другой 4.2 круга за отведенное время, то 4 целых круга первый проехал быстрее.
Понимаю, что не совсем корректно, но приходится идти на упрощение.
А приборчик для детского кружка меня попросили сделать. Они на радиоуправляемых машинках катаются. Существуют специализированные "засечки" для таких соревнований, то тут не тот масштаб.
Понимаю, что не совсем корректно, но приходится идти на упрощение.
А приборчик для детского кружка меня попросили сделать. Они на радиоуправляемых машинках катаются. Существуют специализированные "засечки" для таких соревнований, то тут не тот масштаб.
- Реклама
- xelos
- Потрогал лапой паяльник
- Сообщения: 336
- Зарегистрирован: Пн мар 20, 2006 13:05:08
- Контактная информация:
да не, тут все намного проще. просто нужно найти минимальное значение в массиве.
алгоритм такой:
пусть есть массив Время[х]
создаем переменную А=Время[0]
создаем переменную В=0
потом в цикле i=1;i++;i<x
if A<Время
{
А=Время
В=i
}
конец
по выходу из программы в А будет лучшее время, в В номер машины.
алгоритм такой:
пусть есть массив Время[х]
создаем переменную А=Время[0]
создаем переменную В=0
потом в цикле i=1;i++;i<x
if A<Время
{
А=Время
В=i
}
конец
по выходу из программы в А будет лучшее время, в В номер машины.
Я просто верю в то, что рушить догмы - лучший способ не стареть.


