Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zek921
9 / 9 / 2
Регистрация: 30.04.2011
Сообщений: 130
Записей в блоге: 1
#1

Как представить на яыке с++ образуют ли ребра графа цикл или нет ? - C++

23.10.2011, 13:49. Просмотров 304. Ответов 0
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
void Graf::Algoritm()
{
        Graf t = Graf(true);
        bool flag = false;
        Rib temp;Rib temp2;temp.Length = 999;temp2.Length = 999;
        for(int i =0;i<cnt;i++)
        {
                
                for(int j =0;j<cnt;j++)
                {
                if((bufer[i].P1 !=bufer[j].P1)||(bufer[i].P2!=bufer[j].P2))
                {
                        if((bufer[i].P1 == bufer[j].P1)||(bufer[i].P2 == bufer[j].P2))
                        {
                        if(bufer[i].P1 == bufer[j].P1)
                        {temp.P1 = bufer[i].P2;temp.P2 =bufer[j].P2;
                        temp2.P1 = temp.P2;//temp2.P2 = temp.P1; 
                        if(((t.ContainsRib(bufer,temp))==false))
                        {
                        //a.Add(temp);a.Add(temp2);flag = true;break;
                                bufer[i] = temp;cnt++;flag = true;
                        }
 
                        }
                                                if(bufer[i].P2 == bufer[j].P2)
                        {
                        temp.P1 = bufer[i].P1;temp.P2 =bufer[j].P1;
                        temp2.P1 = temp.P2;temp2.P2 = temp.P1; 
                        if(((t.ContainsRib(bufer,temp))==false))
                        {
                        bufer[i] = temp;cnt++;flag = true;
                        }
                        }
 
                        }
                
                        
                        
                        if(bufer[i].P1 == bufer[j].P2)
                        {
                        temp.P1 = bufer[i].P2;temp.P2 =bufer[j].P1;
                        temp2.P1 = temp.P2;temp2.P2 = temp.P1; 
                        if(((t.ContainsRib(bufer,temp))==false))
                        {
                        bufer[i] = temp;cnt++;flag = true;
                        }
                        }
 
                        if(bufer[i].P2==bufer[j].P1)
                        {
                        temp.P1 = bufer[i].P1;temp.P2 =bufer[j].P2;
                        temp2.P1 = temp.P2;temp2.P2 = temp.P1; 
                        if(((t.ContainsRib(bufer,temp))==false))
                        {
                        bufer[i] = temp;cnt++;flag = true;
                        }
 
                        }
 
                        if(flag==true)
                        {
                        i=-1;break;
                        }
                        else flag=false;
                }
                
                }
        
        }
 
}
вот так не работает ,хотя и запускается .Если добавить для мониторинга строку и выводить на экран,то все - равно цикл не проходится ,условия не проверяются .
Суть в общем - генерация на основе ребер ,что уже были взяты ,новых ребер ,которые образуют цикл .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2011, 13:49     Как представить на яыке с++ образуют ли ребра графа цикл или нет ?
Посмотрите здесь:

Сортировка, или нет? (Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют убывающую последовательность) - C++
Всем привет. Очередная задачка. Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют убывающую...

Кратчайший путь между вершинами взвешенного графа, в котором есть ребра с отрицательным весом - C++
Здравствуйте! Пишут, что можно находить кратчайший путь между вершинами взвешенного графа, в котором есть ребра с отрицательным весом. Как...

Цикл: правильно или нет? - C++
Знающие люди, подскажите пожалуйста... Есть такая задачка: http://pic.ipicture.ru/uploads/090209/FqJj1Wz56M.jpg необходимо вычислить...

Как можно представить цикл с изменяемым параметром итерации? - C++
Имеется простой цикл - function proceed() { for(int i=0; i&lt;3;i++) { Use(MyArray.object) } ...

Представить цикл в математическом виде - C++
подскажите, здесь же есть ошибка? x=0; for(j=1; j&lt;=n; j++) x=x+2; x=2*x; это надо представить в математическом виде. ...

Задача на графы. Удалить ребра так, чтобы степень любой вершины была равна 3 или 0 - C++
Здравствуйте. Условие задачи, собственно, в названии темы. Возникли проблемы с алгоритмом, не говоря уже про код. Ограничений на входной...

Как проверить пустой файл или нет? - C++
Всем доброго времени суток, столкнулся с такой проблемой: нужно считать из файла данные и записать их в динамический список, но вот если...

Как определить целое число или нет - C++
Можно как то определить какое число записано в переменной? скажем есть переменная double X; можно как то программно определить...

Как определяется, вирус программа, или нет? - C++
День всем добрый! У меня такой вопрос: Каким функционалом должна обладать программа, чтобы какой-нибудь Доктор Веб посчитал его...

Как проверить в с++ пуст файл или нет? - C++
Добрый день! Мне нужно написать программу, которая после открытия файла делает проверку, пуст этот файл или нет. Подскажите, пожалуйста,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru