![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите написать скрипт. Объясню, что именно мне нужно получить.
Есть некая база городов. Расстояние между ними известно. Есть два раскрывающихся списка. Открываешь первый список и выбираешь город. Открываешь второй список и выбираешь город. Нажмаешь кнопку "Рассчитать" и расстояние показывается в label1=) Думаю это элементарно, но я уже все забыл и прошу помощи в решении этой простой задачки. Спасибо. |
#2
|
||||
|
||||
![]() Ну как известно из города А в город Я можно попасть разными путями.
Нужно собирать действующий граф из тех городов, которые лежат между А и Я. И смотреть расстояние (я так понимаю наименьшее) А если решать задачу, сидя на цистерне с бензином, то выглядеть это будет простым циклическим перебором всех городов. Только есть вероятность приехать в город-тупик, который не связан с другими. |
#3
|
||||
|
||||
![]() label1.caption := StrToFloat(ComboBox2.text) - StrToFloat(ComboBox1.text);
Как ты сам не мог додуматся? |
#4
|
||||||||
|
||||||||
![]() FacePalm.
Ответом будет являться ошибка: Код:
Но даже если: Код:
Код:
Код:
Читайте внимательнее задачи =\ Последний раз редактировалось Uniq!, 24.09.2013 в 12:26. |
#5
|
||||
|
||||
![]() Код:
Так должно работать |
#6
|
|||
|
|||
![]() Как вы представляете себе свой код, когда там будет 50 городов?
|
#7
|
||||
|
||||
![]() Где хранятся данные? и в каком виде?
|
#8
|
||||
|
||||
![]() Код:
Ну дальше сами... |
#9
|
||||
|
||||
![]() Цитата:
|
Этот пользователь сказал Спасибо Aristarh Dark за это полезное сообщение: | ||
junk1114 (24.09.2013)
|
#11
|
|||
|
|||
![]() xdessx Жжет=)
Данные думаю хранить в БД SQL, создать таблицу: Первая колонка ID (числовой тип) - id Вторая Колонка city_1 (символьный тип) Третья Колонка city_2 (символьный тип) Четвёртая колонка rast (числовой тип) - расстояние между городами Еще бы сюда каким то образом страну прицепить. Или предложите другую структуру пожалуйста. |
#12
|
||||
|
||||
![]() Код:
Вроде так ![]() |
#13
|
||||
|
||||
![]() Ну базы - это, конечно, круто. Но для графа достаточно и текстового файлика. Сначала названия, дальше - строки по 2 id и расстоянием. Пример:
Цитата:
После читаем про графы, к примеру - алгоритм Дейкстры (см. Гугл и Википедию, там даже гифка-иллюстрация есть). Можно просто из каждой вершины двигаться по всем путям, начиная с кратчайшего, и запоминать длину пути; если зашли в тупик - откат на вершину назад, а если дошли до нужной вершины - это и есть кратчайший путь. Если же есть прямой путь из каждого города в каждый - то просто Код:
А еще у нас, похоже, появился новый тролль. И кстати, xdessx, убери ссылку из подписи, а то рискуешь банхаммером получить. Правила форума надо читать. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 24.09.2013 в 14:34. |