Обход двумерной матрицы |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Обход двумерной матрицы |
Cheburashka |
Сообщение
#1
|
Бывалый Группа: Пользователи Сообщений: 195 Пол: Мужской Реальное имя: Сергей Репутация: 2 |
В общем хочу написать код, который давал бы путь перехода из точки А в точку В.
На процедуру посылаются значения точек (x1,y1,x2,y2:byte). Матрица сама по себе небольшая (не больше 15 клеток, а то и меньше). Я пытался сделать, но получились лишь куски кода, в которых я ищу где находится вторая точка относительно первой (сверху, снизу, снизу слева). А также 4 процедурки движения (если вверху точка, идем вверх). НО! Есть небольшое "но" . Движение нельзя совершать по диагонали. И на пути могут быть преграды. Помогите пожалуйста. Если нужно напишу то, что у меня есть. P.S. Извиняюсь, если подобная проблема решалась раньше. -------------------- ♣♣♣
"Себя великим не считай, гордясь величьем предков, Величья не добудешь ты и золота ценою! Хоть светит на небе луна, но отраженным светом - Чужою славой не живи, не будь второй луною!!!" ♣♣♣ |
Cheburashka |
Сообщение
#2
|
Бывалый Группа: Пользователи Сообщений: 195 Пол: Мужской Реальное имя: Сергей Репутация: 2 |
А по времени, что будет быстрее?
К примеру обычныйпоиск пути в двумерной матрице или же Ваш волновой алгоритм (или другое)? И примерно во сколько раз они будут отличаться? -------------------- ♣♣♣
"Себя великим не считай, гордясь величьем предков, Величья не добудешь ты и золота ценою! Хоть светит на небе луна, но отраженным светом - Чужою славой не живи, не будь второй луною!!!" ♣♣♣ |
Lapp |
Сообщение
#3
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
А по времени, что будет быстрее? Гм. Забавно ты ставишь вопрос )).К примеру обычныйпоиск пути в двумерной матрице или же Ваш волновой алгоритм (или другое)? И примерно во сколько раз они будут отличаться? Что быстрее: использовать правило одной руки в лабиринте - или сразу пройти к выходу? Что быстрее: ходить в школу и делать домашние задания в течение десяти лет - или сразу стать умным и сдать ЕГЭ? Что быстрее было Александру Сергеевичу: трястись в бричке перу дней - или сесть на вертолет и сразу махнуть к себе в Михайловское из Питера? Что быстрее: лететь на Аполло-13 на Луну - или прорыть туда подземный ход? Если ты знаешь КАК сделать то, что стоит в каждом предложении после тире - я умолкаю и снимаю шляпу. Волновой алгоритм - это ПРИНЦИПИАЛЬНАЯ возможность найти (короткий) путь. Никакого "обычного поиска пути в двумерной маотрице" я НЕ ЗНАЮ. Соответственно, я не могу ответить на вопрос, что быстрее.. Я подозреваю, что тебя сбивает с толку то, что ты знаешь какие-то дополнительные условия, которые не назвал нам - малая плотность препятствий, ограничение размера и формы препятствий.. Такое знание МОЖЕТ помочь, но может и подвести. Либо (что скорее) ты просто не вник достаточно глубоко в суть своего же вопроса )). Добавлено через 6 мин. или же Ваш волновой алгоритм чего это он мой-то? я на него не претендую.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 5.05.2024 14:43 |