Написать программу, отыскивающую проход по лабиринту с использованием контейнерного класса stack из STL. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то в вход в него возможен со стороны, но не с угла. Программа находит проход через лабиринт, двигаясь от заднего входа. После отыскивания прохода программа выводит найденный путь в виде координат. квадратов. (в 3 файла - main.cpp,head.h,stack.cpp ) Это задание моего курсовика. Помогите пожалуйста. курсач горит =( может кто выожить исходники? Буду очень благодарен за любую помощь)
Алго простейший. Просто есть 4 переменные u, r, d, l. Т.е. вверх, вправо, вниз, влево. Заносишь в стек первую. Если туда можно перейти, то обрабатываешь следующий квадрат(но не тот, который на верху стека, т.к. это будет возвратом назад). Если нельзя, то заменяешь переменную на следующую(enum в помощь). Если переменная эта l(т.е. квадрат не имеет выхода), то снимаем верхушку стека и перебираем дальше.
А еще можно просто алгоритмом фронта волны Тогда вообще задача будет примитивной и никакие стеки нахрен не нужны будут.
если бы можно было бы увидеть исходники((в 3 файла)с использованием контейнерного класса stack из STL) моей благодарности не было б предела
просто представь все открытые квалраты ввиде узлов графа, а соседние квадраты соедени ветвями. И просто сделай алгоритм фронта волны(use google, «алгоритм волны»). А стек тут нахрен не нужен, он лишь будет нужен для хренового способа(который самый очевидный, я его привел первым)
http://algolist.manual.ru/games/wavealg.php вот тут типа описание, но я бы кодеру этого говнокода руки бы оторвал, т.к. можно в несколько раз короче записать
пробывал...никак не получается сделать прогу(видимо сказывается "опытность")...Люди!кто знает как решить данную задачку? прошу помогите исходниками(и именно - с использованием контейнерного класса stack из STL ). Буду очень благодарен!
хочешь я открою тебе страшную тайну? есть такой мегахеккерский сайт гуголь. Ио н может ответить на твой вопрос. Я даже у него спросил. И он правильно ответил. Пользуйся моей добротой: http://www.google.com/search?q=STL+stack P.S. задача легкая, но для того, чтобы ее решить, надо не тупо копировать код, но еше и думать. Головой.
Алгоритм объяснили, за синтаксисом использования STL - открываешь Google и вбиваешь в поиск слово "STL". Первая же ссыль на мануал. Ищешь там ветку Containers, в ней - stack. И смотришь как его использовать. PS. Пользуйся моей добротой (С) нер: http://www.sgi.com/tech/stl/stack.html
да все это хорошо.вот только знаком с С++ 4 месяца(да и то за эти 4 месяца толком не научился) + до этого никаких языков не изучал,так что сам прогу не могу написать...а вам я и написал в надежде на помощь.
Если помощь == написание за тебя всей программы, тогда долго тебе искать придется энтузиастов. Сессия ща, времени мало
слушай сюда, кросавчег если я те напишу, то ты нихрена не поймешь тему и будет хуже только тебе. Поэтому хватит 2.78бать вола, просто попробуй сделать и у тебя все получится. Just trust me
ТОесть как не сможешь написать? Азы знаешь? Ситаксис? Операторы? Думаю да, если 4 месяца изучаешь. А если взялся за С++, значит и английский тоже хоть немного но знаешь... В таком случае за несколько дней вполне реально разобраться и решить задачу.
в том и дело я - совершенно не знаю С++ (как вы понять не можете =) ) и разбирусь я в этой теме лучше после сесии !) люди пожалуйста помогите с прогой) я вам буду благодарен всю жизнь!)