Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подкиньте идеи по реализации 
:(
    Опции темы
ILyAHA
Дата 16.5.2008, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гламурный хакер
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.3.2007
Где: Ярославская обл. г.Рыбинск

Репутация: нет
Всего: 3



Мне попался вот такой курсовик:

Цитата

Здание состоит из N концентрических сфер, образуя тем самым одну круглую комнату и N-1 кольцеобразных помещений. Пронумеруем их от внутреннего 2-го до внешнего N-го. k-е кольцеобразное помещение имеет k непроницаемых перегородок и случайное кол-во случайно расположенных дверей из внутреннего кольца и во внешнее. Кол-во стен а так же максимальное и минимальное кол-во дверей в каждом кольце задается при запуске программы. Вы находитесь в круглой комнате. Требуется выйти наружу, если это возможно.


далее собственно сабж...

Есть идея по реализации с помощью графа. за вершины можно брать сектора в кольцеобразных помещениях, ограниченные стенами. а двери - ребрами. но тут уже встаёт о реализации практически....

писать буду на msvs2005

Это сообщение отредактировал(а) ILyAHA - 16.5.2008, 18:02
--------------------
<sсriрt>alert('xss')</sсriрt>
PM MAIL   Вверх
Rififi
Дата 16.5.2008, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 11
Всего: 36



хороший повод изучить Boost Graph Library
PM MAIL   Вверх
ILyAHA
Дата 17.5.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гламурный хакер
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.3.2007
Где: Ярославская обл. г.Рыбинск

Репутация: нет
Всего: 3



Rififi, как работать с графами я умею. Главная проблема в том, по каким данным его составлять.
Я незнаю то, какие структуды данных должны быть, чтобы легче было работать с отрисовкой на экран всего лабиринта и строить граф по этим структурам...

Вот картинка с лабиринтом :

user posted image


Примеры приветствуются smile   smile 

Это сообщение отредактировал(а) ILyAHA - 17.5.2008, 15:37
--------------------
<sсriрt>alert('xss')</sсriрt>
PM MAIL   Вверх
maxim1000
Дата 17.5.2008, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



если представить, что все двери закрыты, получим набор изолированных комнат - это наши вершины
ну и + ещё окружающее пространство - тоже, в некотором смысле, комната smile
а двери - рёбра графа


--------------------
qqq
PM WWW   Вверх
ILyAHA
Дата 17.5.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гламурный хакер
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.3.2007
Где: Ярославская обл. г.Рыбинск

Репутация: нет
Всего: 3



maxim1000, у меня такая идея и была делать. я о ней даже написал в начале темы....
лучше по всяких структурам подскажите что-нить тогда...

Это сообщение отредактировал(а) ILyAHA - 17.5.2008, 17:41
--------------------
<sсriрt>alert('xss')</sсriрt>
PM MAIL   Вверх
maxim1000
Дата 18.5.2008, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



Цитата(ILyAHA @  17.5.2008,  17:40 Найти цитируемый пост)
я о ней даже написал в начале темы....

нннда... невнимательно прочитал

насколько я понял, на входе у нас массивы перегородок для каждого кольца и массивы дверей для каждой стенки между соседними кольцами?
тогда из массива перегородок естественным образом получается массив комнат:
i-я комната - между i-й и i+1-й перегородкой (после последней идёт первая)
т.е. набор вершин получается сразу
потом нужно написать функцию, которая по координате двери определит индексы двух комнат, которые она соединяет
проходимся этой функцией по всем дверям - получаем рёбра - пары индексов вершин графа
дальше ищем путь

на этапе работы с кольцами/комнатами/дверями можно просто оперировать массивами координат (полярных), тогда одна координата (расстояние) будет означать номер кольца, а вторая (угол) расположение перегородки/двери внутри кольца

на этапе работы с графом, например, для каждой комнаты хранить список соседних
хотя тут, конечно, большое разнообразие возможных структур


--------------------
qqq
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.