59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
|
||||||
1 | ||||||
понять рекурсию26.03.2012, 21:26. Показов 1208. Ответов 9
Метки нет (Все метки)
Здравствуйте! Хочу понять рекурсию для этого хочу реализовать рекурсивный выход из лабиринта. точка (.) можно ходить, решетка (#) стена, g это выход.
из начало вводится 2 цифры, это размерности символьного массива, затем вводится сам массив, затем вводится 2 цифры, это координаты начала. например 3 3 . . . # # . # # g выход есть вот что я по пробовал сделать...
0
|
26.03.2012, 21:26 | |
Ответы с готовыми решениями:
9
Не могу понять как написать каскадную рекурсию Стек на основе массива структур - эт как понять читаю литературу и не могу понять! Реализовать рекурсию В файл рекурсию |
26.03.2012, 21:46 | 2 |
Существуют готовые хорошие алгоритмы поиска пути. На ум приходит А*, Волновой алгоритм и.т.д.
Сам я их подзабыл уже. Вот про них погугли и на них ориентируйся. А твоя самодеятельность похвальна , но работать на будет, просто потому что в такой ситуации он будет ходить взад-вперёд ***** . . И .* ***** И -игрок Вызов mouse в первый раз будет советовать игроку сделать шаг вправо после первой же проверки, тем самым заводя в тупик. Следующий вызов выведет его из тупика на 1 шаг влево в прежнее положение, из которого бесконечно будет отправлять в тупик.
1
|
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
|
|
26.03.2012, 21:51 [ТС] | 3 |
волновую я знаю, и как методом правой руки тоже, и самым коротким способом определить есть из лабиринта выход или нет тоже могу, просто в тех алгоритмах нет рекурсий. Как я понял в моем алгоритме не хватает возврата назад. То есть, когда есть развилка ставим метку, и идем по первому условию, если условие не удачная то возвращаемся на метку, только как это сделать?
на одном форуме нашел хороший ответ, но не могу его реализовать...
0
|
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
|
|
26.03.2012, 22:20 [ТС] | 5 |
0
|
26.03.2012, 22:37 | 6 | |||||
Прочитай ещё раз:
1
|
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
|
||||||
26.03.2012, 22:39 [ТС] | 7 | |||||
0
|
26.03.2012, 22:42 | 8 | |||||
Да! Да! Именно!
Только я ещё подумал, может mas[x+1][y]='#' ... mas[x+1][y]='.'; сделать общим для всех четырёх ифов? Должно бы работать!
1
|
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
|
|
26.03.2012, 22:44 [ТС] | 9 |
работает... прикольно как говорится чтобы понять рекурсию нужно понять рекурсию...
0
|
26.03.2012, 22:49 | 10 | |||||
Ну ты понял идею программы? Перед тем как пойти, скажем в правое ответвление лабиринта мы "заделываем" за собой дорогу. И так постепенно углубляемся, либо пока не оказываемся замурованными в тупике, тогда размуровываемся; шаг назад; и пробуем другое ответвление (например левое)
либо пока не найдём выход. Вообще, отмечай дорогу не символами стен "#", а какими-нибудь специальными, например "@". Тогда когда отыщешь выход, в массиве будет "прочерчен" твой маршрут - и можно будет наглядно вывести на экран.
0
|
26.03.2012, 22:49 | |
26.03.2012, 22:49 | |
Помогаю со студенческими работами здесь
10
Задача на рекурсию Объясните рекурсию Задача на рекурсию Задача на рекурсию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |