IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Обход двумерной матрицы
Cheburashka
сообщение 5.06.2010 8:51
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Мужской
Реальное имя: Сергей

Репутация: -  2  +


В общем хочу написать код, который давал бы путь перехода из точки А в точку В.
На процедуру посылаются значения точек (x1,y1,x2,y2:byte).
Матрица сама по себе небольшая (не больше 15 клеток, а то и меньше). Я пытался сделать, но получились лишь куски кода, в которых я ищу где находится вторая точка относительно первой (сверху, снизу, снизу слева). А также 4 процедурки движения (если вверху точка, идем вверх).

НО! Есть небольшое "но" smile.gif .
Движение нельзя совершать по диагонали. И на пути могут быть преграды. Помогите пожалуйста. Если нужно напишу то, что у меня есть. smile.gif

P.S. Извиняюсь, если подобная проблема решалась раньше.


--------------------
♣♣♣
"Себя великим не считай, гордясь величьем предков,
Величья не добудешь ты и золота ценою!
Хоть светит на небе луна, но отраженным светом -
Чужою славой не живи, не будь второй луною!!!"
♣♣♣
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Cheburashka
сообщение 8.06.2010 7:48
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Мужской
Реальное имя: Сергей

Репутация: -  2  +


А по времени, что будет быстрее?
К примеру обычныйпоиск пути в двумерной матрице или же Ваш волновой алгоритм (или другое)? И примерно во сколько раз они будут отличаться?


--------------------
♣♣♣
"Себя великим не считай, гордясь величьем предков,
Величья не добудешь ты и золота ценою!
Хоть светит на небе луна, но отраженным светом -
Чужою славой не живи, не будь второй луною!!!"
♣♣♣
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 8.06.2010 8:54
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Сергей Меркурьев @ 8.06.2010 8:48) *
А по времени, что будет быстрее?
К примеру обычныйпоиск пути в двумерной матрице или же Ваш волновой алгоритм (или другое)? И примерно во сколько раз они будут отличаться?
Гм. Забавно ты ставишь вопрос )).

Что быстрее: использовать правило одной руки в лабиринте - или сразу пройти к выходу?
Что быстрее: ходить в школу и делать домашние задания в течение десяти лет - или сразу стать умным и сдать ЕГЭ?
Что быстрее было Александру Сергеевичу: трястись в бричке перу дней - или сесть на вертолет и сразу махнуть к себе в Михайловское из Питера?
Что быстрее: лететь на Аполло-13 на Луну - или прорыть туда подземный ход?

Если ты знаешь КАК сделать то, что стоит в каждом предложении после тире - я умолкаю и снимаю шляпу.

Волновой алгоритм - это ПРИНЦИПИАЛЬНАЯ возможность найти (короткий) путь. Никакого "обычного поиска пути в двумерной маотрице" я НЕ ЗНАЮ. Соответственно, я не могу ответить на вопрос, что быстрее..

Я подозреваю, что тебя сбивает с толку то, что ты знаешь какие-то дополнительные условия, которые не назвал нам - малая плотность препятствий, ограничение размера и формы препятствий.. Такое знание МОЖЕТ помочь, но может и подвести. Либо (что скорее) ты просто не вник достаточно глубоко в суть своего же вопроса )).

Добавлено через 6 мин.
Цитата(Сергей Меркурьев @ 8.06.2010 8:48) *
или же Ваш волновой алгоритм
чего это он мой-то? blink.gif я на него не претендую.. smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Сергей Меркурьев   Обход двумерной матрицы   5.06.2010 8:51
Гость   на пути могут быть преградыВот это - ключевой моме...   5.06.2010 9:01
Сергей Меркурьев   В общем двумерная матрица будет размером 9*9. При...   5.06.2010 9:06
Сергей Меркурьев   Посоветуйте что-нибудь пожалуйста :)   5.06.2010 17:56
Client   самое простое - идти буквой "Г" по одной...   5.06.2010 20:26
Сергей Меркурьев   Вот, что по поводу посложнее у меня и не получаетс...   5.06.2010 20:31
Client   при движении возможно только четыре варианта - впе...   5.06.2010 20:38
Сергей Меркурьев   В принципе все наработки моей программы только лиш...   5.06.2010 20:41
Client   думаю, что сворачивать стоит в ту сторону, ближе к...   5.06.2010 20:43
Сергей Меркурьев   Хорошо, надо будет попробовать. Если что-то будет ...   5.06.2010 20:58
TarasBer   > самое простое - идти буквой "Г" по ...   7.06.2010 11:55
Сергей Меркурьев   А причем тут графы?   7.06.2010 16:04
TarasBer   А причём тут матрицы? В условии задан лабиринт. А ...   7.06.2010 16:09
Сергей Меркурьев   С графами я к сожалению, не знаком... А вот с матр...   7.06.2010 16:11
Lapp   С графами я к сожалению, не знаком... А вот с матр...   7.06.2010 23:52
Сергей Меркурьев   А по времени, что будет быстрее? К примеру обычный...   8.06.2010 7:48
Lapp   А по времени, что будет быстрее? К примеру обычный...   8.06.2010 8:54
Сергей Меркурьев   По сути дела препятсвия могут быть в любой клетке,...   8.06.2010 11:08
TarasBer   > кроме алгоритма обхода матрицы. ГРАФА, а не ...   8.06.2010 11:22
Lapp   Игра Lines (может быть слышали). У меня практическ...   9.06.2010 3:13
TarasBer   > Кэштмэрррт.. Здравствуй, гость из прошлого...   9.06.2010 9:30


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 6.07.2025 19:45
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"