Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с алгоритмом
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Pavel V.
Есть задача: машинки ездят по кругу, нужно подсчитывать кол-во пройденных кругов и определять победителя. Время заезда задано.

Подсчет кругов осуществляется в ручном режиме, т.е. нажатием соответствующей кнопки.

А затруднение вызвал следущий вопрос: допустим, две машины проехали заезд с одинаковым кол-вом кругов. Тогда мы сравниваем время, за которое эти самые круги были пройдены.

Что мы имеем: два массива. Один содержит кол-во пройденных каждой машиной кругов. Второй - время в секундах, прошедшее с момента старта до сигнала о прохождении последнего круга.

А теперь самое интересное. Как теперь правильно отсортировать результаты гонки? Вот ломаю голову, а ничего умного не получается..

Может быть вы поможете??
defunct
А с какого боку тут AVR да и вообще любой МК?
AVR
Цитата(Pavel V. @ Nov 12 2006, 19:30) *
А теперь самое интересное. Как теперь правильно отсортировать результаты гонки?
Не уверен что хоть немного понял задачу, но всё же... Можно для каждой машинки ввести коэффициент [число кругов]/[время проходнения круга], у кого больше - тот победил... biggrin.gif
PS Только при чём тут АВР? Может ошиблись разделом?..
AndryG
Попробуйте рассмотреть такой вариант:
На каждую машину отводим массив(или одно измерение массива), в соответствующую ячейку массива записываем время прохождения круга... первоначально в всех ячейках нули стоят. Результат будет типа такого: (время заезда 40)
[code]
arr1: 15 17 19 25
arr2: 04 16 20 36
arr3: 01 02 04 08 07 16 39
[code]

Значит первое место у третьего, второе у первого, третье - у второго.

Это для затравки ... дальше алогритм выяснения мест думать надо...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.