![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.07.2011
Сообщений: 21
|
![]()
Создать программу, отыскивающую проход по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него возможен со стороны, но не с угла. Каждый квадрат определяется его координатами в матрице. Программа находит проход через лабиринт, двигаясь от заданного входа. После отыскания прохода программа выводит найденный путь в виде координат квадратов. Для хранения пути использовать стек.
Делать нужно примерно так... Взять первую точку-вход в лабиринт(допустим нижняя левая) и осмотреть ее окрестность(вверх и вправо), найти открытый квадрат и положить точку входа в стек . дальше смотреть окрестности текущей точки если они закрыты, то вытаскивать предыдущую из стека и смотреть на открытость/закрытость оставшихся сторон окрестности. надо также принять от куда начать проверку окрестности, например с нижней точки и проверять по часовой. в стек нужно так же с точкой класть и направление по которому пошли, что бы не было зацикливания. и необходимо учитывать границы лабиринта. Я к сожалению не могу это реализовать... помогите пожалуйста |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 04.07.2011
Сообщений: 21
|
![]()
Написать программу надо на си или хотя бы c++ ...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 01.11.2010
Сообщений: 75
|
![]()
"Лабиринт представляется в виде матрицы, состоящей из квадратов"
Можете показать как это в C задаётся? |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 04.07.2011
Сообщений: 21
|
![]()
ну матрицу можно считывать из файла, а в файле должно быть что-то вроде этого
1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 По единичкам ходить можно, а нолики - это стена. Нужно задать начало и конец...и найти путь... |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 04.07.2011
Сообщений: 21
|
![]()
да...но там все непонятно...да и стек нужен...
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 04.07.2011
Сообщений: 21
|
![]()
А как задать структуру для матрицы? как реализовать стек для матрицы? я не совсем понимаю...
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
я абсолютно не знаю С (как и С++)
более того, я не смотрел предложенные варианты нахождения пути. но Цитата:
От Вас ожидается, что в стек Вы будете помещать КООРДИНАТЫ очередной ячейки (это либо пара индексов, либо элемент структуры, содержащий сразу пару координат), по которой двигаетесь при выборе очередного варианта движения. (при неудаче возвращаться назад, выкидывая из стека неудачный вариант, брать следующий и двигаться дальше). |
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 04.07.2011
Сообщений: 21
|
![]()
в инете много информации по этой задаче...голова кругом...и много разных кодов есть...но все они не работают...а исправить их я не могу...не понимаю...
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отыскание прохода по лабиринту в Delphi | CyberGirl | Помощь студентам | 0 | 06.04.2011 08:20 |
Отыскание прохода по лабиринту В Delphi | CyberGirl | Помощь студентам | 0 | 15.03.2011 14:20 |
проход по дереву на c++ | Skilluser | Помощь студентам | 18 | 20.11.2010 19:34 |
С++. Отыскать проход по лабиринту | Romer9999 | Помощь студентам | 1 | 17.06.2009 23:33 |
Проход по дереву. | Ozerich | Общие вопросы Delphi | 1 | 05.10.2008 17:33 |