![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Igor11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.11.2012 Репутация: нет Всего: нет |
Реализация класса «стек» в задачах поиска выхода из лабиринта.
Описать класс, реализующий стек. Написать программу, использующую этот класс для отыскания прохода по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат или открытый, или закрытый. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него возможен со стороны, но не с угла. Каждый квадрат определяется его координатами в матрице. После отыскания прохода программа печатает найденный путь в виде координат квадратов. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
Тема перенесена. |
|||
|
||||
| t_gran |
|
||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 13.11.2007 Где: г.Усть-Илимск Репутация: 33 Всего: 37 |
stack.h
pos.h
map.h
map.cpp
main.cpp
Makefile
Пример карты 002.map
где, # - стена, 1/2 - старт/финиш ![]() Присоединённый файл ( Кол-во скачиваний: 70 )
program.zip 3,71 Kb-------------------- Я знаю, что ничего не знаю© Сократ ![]() |
||||||||||||||
|
|||||||||||||||
| Igor11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.11.2012 Репутация: нет Всего: нет |
что именно было сделано в части pos.h?
Добавлено через 12 минут и 43 секунды и у меня ошибка на # include "map.h", как именно мне ее исправить, ведь сам фаил map сохранен там же где и программа main |
|||
|
||||
| t_gran |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 13.11.2007 Где: г.Усть-Илимск Репутация: 33 Всего: 37 |
А вы не видите? Или не понимаете?
Тут телепатов нет. Что за ошибка? Смею предположить, что вполне возможно ругается на 18-ую строчку:
Если так, то у вас просто компилятор не поддерживает C++11 стандарт. P.S.: Пересобрал под винду и без использования C++11. Это сообщение отредактировал(а) t_gran - 30.11.2012, 09:07 Присоединённый файл ( Кол-во скачиваний: 33 )
program.zip 170,22 Kb-------------------- Я знаю, что ничего не знаю© Сократ ![]() |
||||||
|
|||||||
| Igor11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.11.2012 Репутация: нет Всего: нет |
к сожалению я не понимаю
|
|||
|
||||
| Igor11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.11.2012 Репутация: нет Всего: нет |
в Pos реализуется запоминания координат пути выхода из лабиринта ?
|
|||
|
||||
| t_gran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 13.11.2007 Где: г.Усть-Илимск Репутация: 33 Всего: 37 |
Igor11, это же просто. В стеке вам нужно хранить 2-а значения: номер столбца и номер строки. Что это за абстракция? Правильно, координата или позиция. Вот структура TPos и реализует её. Хотя, по честности, можно было обойтись стандартным stl-овским шаблоном std::pair. Но думал для прозрачности описать свою структуру. Как практика показала - зря.
-------------------- Я знаю, что ничего не знаю© Сократ ![]() |
|||
|
||||
| Igor11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.11.2012 Репутация: нет Всего: нет |
извини что надоидаю , но Вы могли бы сделать программу одним кодом, от меня требуют именно этого, а сам объединить я не могу, то что возникает проблема с кодом касается введения и считывания карты.
|
|||
|
||||
| t_gran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 13.11.2007 Где: г.Усть-Илимск Репутация: 33 Всего: 37 |
Присоединённый файл ( Кол-во скачиваний: 55 )
program.zip 168,76 Kb-------------------- Я знаю, что ничего не знаю© Сократ ![]() |
|||
|
||||
| Igor11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.11.2012 Репутация: нет Всего: нет |
// TStack<T>::TNode* node = stack.stack;
у мене тут помилка із 'node' undeclared (firs use this function) |
|||
|
||||
| Igor11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.11.2012 Репутация: нет Всего: нет |
я исправил эту ошибку, но при запуске программы консоль появляется лишь на мгновение, и функция "system (" pause ")" здесь не помогает.
Добавлено через 14 минут и 45 секунд я исправил, и консоль появляется на больше времени но ответа никакого не дает |
|||
|
||||
| Igor11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.11.2012 Репутация: нет Всего: нет |
![]() Добавлено через 1 минуту и 16 секунд http://ipicture.ru/Gallery/View/18978682.html Добавлено через 2 минуты и 29 секунд она не подключает карту и соответственно не считывает ее |
|||
|
||||
| Igor11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.11.2012 Репутация: нет Всего: нет |
що відбувається тут typedef std::vector<std::vector<TSector> > TMap;
|
|||
|
||||
| t_gran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 13.11.2007 Где: г.Усть-Илимск Репутация: 33 Всего: 37 |
Блин, тяжёлый случай. Я ПАС!!!
-------------------- Я знаю, что ничего не знаю© Сократ ![]() |
|||
|
||||
| Igor11 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.11.2012 Репутация: нет Всего: нет |
а возможно использование карты не в виде файла, а сразу вписать в исходный код?
Добавлено @ 14:11 зачем нам нужны эти исключения? //----------------------------------------------// bool IsUse(TMap& map, int col, int row) { bool isUse = true; try { isUse = map.at(row).at(col).use; } catch (...) { ; } return isUse; } и зачем нам следующий фрагмент кода? //----------------------------------------------// bool GetWay(TMap& map, TStack<TPos>& stack); bool DeepTo(TMap& map, TStack<TPos>& stack, int col, int row) { if (IsUse(map, col, row) == false) { stack.Push(TPos(col, row)); if (GetWay(map, stack)) { return true; } } return false; } Это сообщение отредактировал(а) Igor11 - 3.12.2012, 15:15 |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |