0 / 0 / 0
Регистрация: 24.11.2014
Сообщений: 27
1

Поиск приоритетных вершин графа

24.02.2016, 00:24. Показов 434. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста написать код для поиска приоритетных вершин графа (n), как на рисунке.
Написал код, но он считает последовательно, а нужно параллельно, то есть может быть несколько одинаковых приоритетов. Пробовал через двойной цикл, результат не для всех вершин корректный. Подскажите, кто знает.

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream>
 
using namespace std;
 
int k = 0;
 
bool v(bool a, bool b, int &n, bool &rez)
{
    if ((a&&b)==true)
    {
        n = (k++);
        rez = 1;
    }
        return a&&b;
} 
 
int main()
{
    bool v3 = 0, v4 = 0, v5 = 0, v6 = 0, v7 = 0, v8 = 0, v9 = 0, v10 = 0, v11 = 0, v12 = 0;
    int n3 = 0, n4 = 0, n5 = 0, n6 = 0, n7 = 0, n8 = 0, n9 = 0, n10 = 0, n11 = 0, n12 = 0;
    bool rez3 = 0, rez4 = 0, rez5 = 0, rez6 = 0, rez7 = 0, rez8 = 0, rez9 = 0, rez10 = 0, rez11 = 0, rez12 = 0;
 
    for (int i = 0;; i++)
    {
        if(rez3 == 0)
        {v3 = v(v4, v6, n3, rez3);
        cout << "v3: " << v3 << endl;
        if(rez3 == 1)
        {continue;}
        }
 
        if(rez4 == 0)
        {v4 = v(v7, v7, n4, rez4);
        cout << "v4: " << v4 << endl;
        if(rez4 == 1)
        {continue;}
        }
 
        if(rez5 == 0)
        {v5 = v(1, 1, n5, rez5);
        cout << "v5: " << v5 << endl;
        if(rez5 == 1)
        {continue;}
        }
 
        if(rez6 == 0)
        {v6 = v(v4, v4, n6, rez6);
        cout << "v6: " << v6 << endl;
        if(rez6 == 1)
        {continue;}
        }
 
        if(rez7 == 0)
        {v7 = v(v5, v5, n7, rez7);
        cout << "v7: " << v7 << endl;
        if(rez7 == 1)
        {continue;}
        }
 
        if(rez8 == 0)
        {v8 = v(v5, v6, n8, rez8);
        cout << "v8: " << v8 << endl;
        if(rez8 == 1)
        {continue;}
        }
 
        if(rez9 == 0)
        {v9 = v(v7, v6, n9, rez9);
        cout << "v9: " << v9 << endl;
        if(rez9 == 1)
        {continue;}
        }
 
        if(rez10 == 0)
        {v10 = v(v7, v8, n10, rez10);
        cout << "v10: " << v10 << endl;
        if(rez10 == 1)
        {continue;}
        }
 
        if(rez11 == 0)
        {v11 = v(v9, v8, n11, rez11);
        cout << "v11: " << v11 << endl;
        if(rez11 == 1)
        {continue;}
        }
 
        if(rez12 == 0)
        {v12 = v(v9, v10, n12, rez12);
        cout << "v12: " << v12 << endl;
        if(rez12 == 1)
        {continue;}
        }
    
    if ((v3&&v4&&v5&&v6&&v7&&v8&&v9&&v10&&v11&v12) == true)
    {break;}
        }
        
    cout <<  "n3: " << n3+1 << endl << "n4: " <<  n4+1 << endl << "n5: " <<  n5+1 << endl << "n6: " <<  n6+1 << endl << "n7: " <<  n7+1 << endl << "n8: " <<  n8+1 << endl << "n9: " <<  n9+1 << endl << "n10: " <<  n10+1 << endl << "n11: " <<  n11+1 << endl << "n12: " <<  n12+1 << endl;
 
system ("pause");
}
Миниатюры
Поиск приоритетных вершин графа  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2016, 00:24
Ответы с готовыми решениями:

Поиск вершин графа по их значению
Сделать задачу поиска вершин графа по их значению. При этом граф должен сохраняться в виде матрицы...

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

Обход графа в ширину для определения всех вершин графа, находящихся на фиксированном расстоянии от данной вершины
Реализуйте обход графа в ширину для определения всех вершин графа, находящихся на фиксированном...

Максимальное множество вершин графа
Алгоритм Брона-Кербоша на СИ. Нахождение максимального независимого множества вершин графа, через...

0
24.02.2016, 00:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2016, 00:24
Помогаю со студенческими работами здесь

Обход всех вершин графа
Нужно найти путь с наименьшим весом с вершины 0 в 0, 1 в 1 и т.д. Обязательно обойти каждую вершину...

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

Представление графа в виде списка вершин.
Стыдно спрашивать, просто хочется сделать чтобы все работало правильно и быстро. Дело в том, что...

Запишите программу нахождения изолированных вершин графа
Помогите пожалуйста.Запишите программу нахождения изолированных вершин графа. Граф задан матрицей...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru