Помогите пожалуйста с программкой:
"Поиск кратчайшего пути в графе методом полного перебора в ширину с использованием АТД очередь"
Сам алгоритм у меня есть, но ничего не знаю про АТД очередь, ни у кого нет примеров такой программы?
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
| SeregaR1Val |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Серёга Репутация: 0 |
Помогите пожалуйста с программкой:
"Поиск кратчайшего пути в графе методом полного перебора в ширину с использованием АТД очередь" Сам алгоритм у меня есть, но ничего не знаю про АТД очередь, ни у кого нет примеров такой программы? |
![]() ![]() |
| volvo |
Сообщение
#2
|
|
Гость |
|
| SeregaR1Val |
Сообщение
#3
|
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Серёга Репутация: 0 |
Толку мало, прочитал, а смысла 0. Там только процедуры описаны как записать в стек, как оттуда достать и т.д. А у меня есть конкретная задача и я не знаю как их связать. работать с очередями, стеками и деками целый семестр, поэтому хотелось бы поподробнее. Мне дан такой алгоритм: procedure Quepush(start); Start, current, finish - начальная. текущая и конечная вершина; Finished - флаг окончания поиска; Visited - функция, проверяющая принадлежность текущей вершины построенной части пути, M - матрица смежности вершин графа. И как совместить это я вообще не подозреваю. Если кто-то может чем-то помочь - помогите. Сообщение отредактировано: SeregaR1Val - |
| volvo |
Сообщение
#4
|
|
Гость |
Цитата работать с очередями, стеками и деками целый семестр, поэтому хотелось бы поподробнее. Что именно "поподробнее"? Ты ж сказал, что у тебя есть алгоритм, но ты не знаешь про очереди. Все, что тебе надо знать - это то, что есть операции Put и Get, все остальное - уже детали реализации (на то он и абстрактный тип данных).Цитата Мне дан такой алгоритм: Не-не... Ты перепутал все на свете... Это не процедура называется Quepush... Вот так выглядит программа в простейшем случае:uses queue_oop;(я использовал собственный модуль queue_oop, в принципе можешь использовать любой другой, по названиям методов понятно, что они делают: Put - забрасывает элемент в конец очереди, Get - вытаскивает элемент из ее начала) Сообщение отредактировано: volvo - |
| SeregaR1Val |
Сообщение
#5
|
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Серёга Репутация: 0 |
Спасибо большое, сейчас буду разбираться!
|
| SeregaR1Val |
Сообщение
#6
|
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Серёга Репутация: 0 |
Вроде всё понятно, немного модифицировал программу, но начала вылезать ошибка, не понимаю почему...
Ошибка отправляет меня в эту строчку: Function QueuePop(var q:TQueue):TElem; Вот сама программа: unit road2_; и прикреплен юнит с Объектом очередь, скачан отсюда, с форума Сообщение отредактировано: SeregaR1Val - Прикрепленные файлы
QUEUE.pas ( 1018 байт )
Кол-во скачиваний: 310 |
| volvo |
Сообщение
#7
|
|
Гость |
Цитата начала вылезать ошибка, не понимаю почему Потому что надо быть более внимательным:procedure step; |
| SeregaR1Val |
Сообщение
#8
|
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Серёга Репутация: 0 |
procedure step; Помогите пожалуйста доделать ... Я программирую в Delphi недавно и поэтому вопрос ламерский: как вывести массив в форме? Пытаюсь сделать уже несколько дней |
| volvo |
Сообщение
#9
|
|
Гость |
Я ж написал тебе
Цитата // Label1 заполняется вот так: в предыдущем посте... Что там тебе не понравилось?Добавлено через 2 мин. P.S. И опять у тебя программа нерабочая, та же самая ошибка: queuepop вместо queuepush... Ты ответы что, не читаешь? Тогда зачем их пишут? |
| SeregaR1Val |
Сообщение
#10
|
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Серёга Репутация: 0 |
И опять у тебя программа нерабочая, та же самая ошибка: queuepop вместо queuepush... Ты ответы что, не читаешь? Тогда зачем их пишут? Извини, я просто скопировал фрагмент из прошлого своего поста и забыл поменять quepop на queuepush, то, что ты написал я сделал, всё получилось ... вот с label1 что-то у меня вывод не правильно получается ... |
| мисс_граффити |
Сообщение
#11
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата вот с label1 что-то у меня вывод не правильно получается ... тебе же написали, как надо: Цитата // Label1 заполняется вот так: -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
| SeregaR1Val |
Сообщение
#12
|
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Серёга Репутация: 0 |
Я бы просто так не писал, у меня все написано также, но какие бы значения не забивал, у меня выводится неправильно! Вот даже программку мою могу выложить...
Прикрепленные файлы
____.rar ( 191.84 килобайт )
Кол-во скачиваний: 237 |
![]() ![]() |
|
Текстовая версия | 21.12.2025 5:03 |