![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
rthsobakas |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 562 Регистрация: 20.9.2007 Репутация: нет Всего: -1 |
есть граф он записывается в виде матрицы смежности
то есть x1 x2 x3 x4 x5 x6 x1 0 1 1 0 0 0 x2 1 0 0 0 0 0 x3 1 0 0 0 0 0 x4 0 0 0 0 0 0 x5 0 0 0 0 0 1 x6 0 0 0 0 1 0 тут 2 графа и они не связаны , то есть x1 ->x2 , x1->x3(первый) x5->x6 (второй) Связи вершин 1 2 3 с 5 6 и с 4 нет ну так вот надо эту матрицу разбить на 3 матрицы(та как 2 графа + 1 x4 ваще одна) первая x1 x2 x3 x1 0 1 1 x2 1 0 0 x3 1 0 0 вторая x5 x6 x5 0 1 x6 1 0 третья x4 Как это сделать? Теоретически я представляю это вот так: Выбираете строчку х1 и проверяете столбцы если в одном из столбов 1 то проверяете строку с номером это столбца на наличие единиц, если и там нашли то смотрите опять на столбец и и ищете опять строку с номером этого столбца и тд пока не заполните новую матрицу , потом по индукции шпарите все остальные вершины. ТОка 3 непонятки : 1) Как практически реализовать алгоритм? 2) Может есть такой алгоритм, как он называется? 3) "Производные" матрицы , сколько их делать не известно заранее, как решить эту проблему? Это сообщение отредактировал(а) rthsobakas - 8.11.2008, 13:58 |
|||
|
||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 1 Всего: 8 |
||||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 1 Всего: 41 |
я делал что-то похожее, только мне надо было записать получившиеся матрицы в файл (делал по учебе), у тебя на диске д создадутся файлы после работы этой программы, в которых будут матрицы, получившиеся после отбора:
не судите строго, я тогда вообще почти не умел программировать, но главное что он работает. не обращай внимания на надписи, которые увидишь. главное, что матрицы лежат в отдельных файлах на диске д, в корне. при следующем выполнении в файлы будет произведена дозапись, если имена совпадут!!! так что надо дорабатывать. это было для учебы, так что я особо не старался, главное было сдать, и то препод удивился извращенности моей мысли))) -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |