![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Здравствуйте, сидим думаем над алгоритмом, но что-то пока ничего рабочего не придумали. Каждый раз как появляется идея, после ее проверки по рисунку все "крашится"=)
В общем имеется программа для построения цепей эл. тока с графическим интерфейсом, то есть рисуются элементы, соединяются и т.п. Теперь появился вопрос, как определить кол-во контуров. Каждый элемент связан с последующим по указателю, то есть переходить в перед\назад не проблема. Но как обойти так, чтобы оно по 10 раз не считало один и тот же контур... Тут пришли в замешательство. Может есть у кого идеи, или знаете, где есть алгоритм. ![]() Вот хотя бы пример 3 контура: В цепи можно выделить три контура abcd, adef и abcdef. Но нужно сделать так, чтобы и на более сложных цепях рассчитывало. Код я бы выложил, но идей нет и кода нет( Так что можно предлагать не кодом, а просто текстом описать идею. Спасибо. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Ваша задача называется 'Нахождение циклов в графе'. Абсолютно классическая задача, освещена во всех учебниках (и не только) по теории графов. Google вам поможет
![]() |
|||
|
||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
Судя по всему, самый простой вариант - обойти всё. Отбросить совпадения.
-------------------- вопросов больше чем ответов |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Тогда уж 'обойти все, найти циклы' ![]()
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |