|
5 / 5 / 2
Регистрация: 04.06.2009
Сообщений: 147
|
||||||
Алгоритм Дейкстры, нахождение кратчайшего пути13.04.2011, 22:32. Показов 18765. Ответов 19
Метки нет (Все метки)
Доброго времени суток всем!
У меня вопрос. Написала программку для нахождения кратчайшего пути (алгоритм Дейкстра), но мне надо её как то по приличней оформить, т.е. можно как то визуализовать результат так, чтобы, к примеру, после того как прога подсчитает результат, рисовался бы граф и этот самый короткий путь, который посчитала программа? Как это сделать и с чего начать? Вот код работы : Код:
1
|
||||||
| 13.04.2011, 22:32 | |
|
Ответы с готовыми решениями:
19
Нахождение кратчайшего пути в графе, алгоритм Уоршелла
Нахождение кратчайшего пути |
|
|
|
| 13.04.2011, 23:03 | |
|
При визуализации вам необходимо каждый пункт задавать двумя координатами. Тут возникает вопрос истинных значений ребер.
Допустим, у вас четыре пункта. Четырехугольник с данными любыми ребрами и то не всегда нарисуешь (какое-то - слишком длинное, или слишком короткое). А тут еще и диагонали...
0
|
|
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|
| 13.04.2011, 23:36 | |
|
Проще всего реализовать алгоритм Флойда для на нахождения кратчайшего пути и матрицу Ху для нахождения вершин, через которые проходит этот кратчайший путь.
0
|
|
|
5 / 5 / 2
Регистрация: 04.06.2009
Сообщений: 147
|
|
| 14.04.2011, 12:37 [ТС] | |
|
Зачем мне делать алгоритм флойда, ели у меня уже есть готовый дейкстры(тем более моё задание именно в том, чтобы сделать именно дейкстру). мой алгоритм как раз и выводит матрицу пути и кратчайший путь к нему, но нужно, что бы он непосредственно рисовал картинку...
0
|
|
|
|
|
| 14.04.2011, 16:16 | |
|
Рисовать по ребрам нужно треугольниками.
Допустим, у нас четыре пункта. Х1Х2 = 5 - изображаем (с масштабным множителем, скажем 20*5=100) Х1Х3 = 7 и Х2Х3 = 4 - точка Х3 - пересечение двух окружностей (с центром Х1 и радиусом 7, с центром Х2 и радиусом 4). Х1Х4 = 4 и Х3Х4 = 3 - точка Х4 - пересечение двух окружностей (с центром Х1 и радиусом 4, с центром Х3 и радиусом 3). Если пунктов у нас больше, процесс продолжается. Возникают жесткие требования к ребрам - они должны иметь такие величины, чтобы все построения были возможными. Что попало уже не наберешь. Добавлено через 10 минут Укажите, в чем вы пишите. Возможно, в чем умеете рисовать.
0
|
|
|
5 / 5 / 2
Регистрация: 04.06.2009
Сообщений: 147
|
|
| 14.04.2011, 18:17 [ТС] | |
|
я пишу в С++, но я новичок и рисовать умею, только матлабе и др. математических программх, т.к. занимаюсь в основном расчётами в матлабе...
Но эту работу сделать обязательно, предмет такой, хочу я или не хочу...
0
|
|
|
5 / 5 / 2
Регистрация: 04.06.2009
Сообщений: 147
|
|
| 14.04.2011, 22:56 [ТС] | |
|
Borland C++
MS Visual Studio
0
|
|
|
108 / 108 / 23
Регистрация: 21.03.2010
Сообщений: 445
|
||
| 14.04.2011, 23:07 | ||
|
+ в матлаб можно вернуть то что посчитано на си.
0
|
||
|
5 / 5 / 2
Регистрация: 04.06.2009
Сообщений: 147
|
|
| 14.04.2011, 23:40 [ТС] | |
|
Но мне нельзя использовать матлаб, надо всё сделать либо в с++ либо с помощью графвиз...
0
|
|
|
108 / 108 / 23
Регистрация: 21.03.2010
Сообщений: 445
|
||
| 14.04.2011, 23:44 | ||
|
1
|
||
|
5 / 5 / 2
Регистрация: 04.06.2009
Сообщений: 147
|
|
| 17.04.2011, 00:56 [ТС] | |
|
"тогда рекомендую Qt" а что это такое? Не слышала...
0
|
|
|
108 / 108 / 23
Регистрация: 21.03.2010
Сообщений: 445
|
|
| 17.04.2011, 03:11 | |
|
ну вообще говоря в википедии написано но это кроссплатформенная среда разработки графических интерфейсов. состоит чуть менее чем полностью из чистого с++, но он немного расширен. у них есть своя программка разработки и она не плоха, но можно накрутить qt на visual studio(хоть и с проблемами). есть даже интерфейс для создания приложений, но мастера кунг-фу им не пользуются.
1
|
|
|
|
|
| 17.04.2011, 04:20 | |
|
Начертить многоугольник с разноцветными диагоналями (подсвечивая путь) можно и в консоли.
Осваивать новые технологии не нужно. Все довольно просто. Например, можете посмотреть: Рисование линий по координатам Что нужно, так это продумать алгоритм черчения. Как я уже говорила, нужно чертить треугольниками, веером по часовой стрелке. В сети есть решения. Будет время - я тоже посмотрю. но обещать не могу - полный завал на работе О_о.
1
|
|
|
5 / 5 / 2
Регистрация: 04.06.2009
Сообщений: 147
|
|
| 21.04.2011, 12:16 [ТС] | |
|
Доброго дня!! мне нужно вывод моей программы( граф, который получается) скинуть в отдельный текстовый файл, но как я не стараюсь у меня почему то, скидывается в отдельный файл код программы а не её вывод... Как это модно исправить?
0
|
|
|
5 / 5 / 2
Регистрация: 04.06.2009
Сообщений: 147
|
|
| 21.04.2011, 14:56 [ТС] | |
|
я просто понять никак не могу в чём проблема, в учебниках и видео уроках ясно говорят как сделать запись в файл, у меня же выдаёт ошибки и никуда ничего не записывает, не смотря на элементарный пример...
0
|
|
|
5 / 5 / 2
Регистрация: 04.06.2009
Сообщений: 147
|
|
| 21.04.2011, 15:00 [ТС] | |
|
вот что получается...
0
|
|
|
78 / 77 / 51
Регистрация: 30.03.2013
Сообщений: 194
|
|
| 06.11.2013, 00:14 | |
|
А можешь скинуть ещё раз код, только подробные комментарии написать, что там творится?)
0
|
|
| 06.11.2013, 00:14 | |
|
Помогаю со студенческими работами здесь
20
Нахождение кратчайшего пути, поиск с возвратом Графы: нахождение кратчайшего пути между вершинами Нахождение кратчайшего пути от одной вершины графа до другой
Нахождение кратчайшего пути в неорентированном графе от заданой вершины к заданной Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|