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

Построение контура в графе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Приведите схему распределения памяти для объединения un2 и присвойте каждому элементу объединения максимальное http://www.cyberforum.ru/cpp-beginners/thread1194784.html
union UN2{int Lg; struct{unsigned b1:2; unsigned b2:3; unsigned b3:5; unsigned b4:6;}bit; }un2;
C++ Ассоциативный массив Добрый день. Есть массив map<char,vector<bool> > table; Как пройтись по этому массиву итератором, чтобы вывести содержимое на экран? Я делаю так: map<char,vector<bool> >::iterator iter; for(iter=table.begin(), iter++;iter!=table.end(); iter++) { cout << iter->first << ":" << iter->second <<endl; } Но second выводить не хочет. Наверное нужен второй итератор. http://www.cyberforum.ru/cpp-beginners/thread1194783.html
Три точки заданы координатами. Определить, какая из них расположена ближе к началу координат C++
помогите написать программу на языке си, Три точки заданы координатами. Определить, какая из них расположена ближе к началу координат. нужно очень срочно
C++ Задача на массив! С++
Помогите, пожалуйста, с задачкой, условие таково: "На заданном своими координатами множестве точек найти количество разносторонних треугольников с вершинами в указанном множестве, и таких, что количество точек, находящихся снаружи и внутри треугольников была равна. ". Нужно как можно раньше, заранее благодарен ПС: Советовали делать перебором (тройной проверкой)
C++ Builder Ошибка в программе: [bcc32 Error] File1.cpp(65): E2171 Body has already been defined for function '_fastcall T http://www.cyberforum.ru/cpp-beginners/thread1194759.html
Помогите плз. Пока осваиваюсь и не могу понять в чем ошибка программы, вот код: ошибка в программе: File1.cpp(65): E2171 Body has already been defined for function '_fastcall TForm1::Button14Click(TObject *)' //--------------------------------------------------------------------------- #include <vcl.h> #include <iostream.h> #include <conio.h> #include <stdlib.h>
C++ выводит левые цифры помогите исправить код программы #include <iostream> #include <stdio.h> using namespace std; int main() { int i,j,n=8,m=8; int a; подробнее

Показать сообщение отдельно
11101010
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 35
31.05.2014, 22:24     Построение контура в графе
Здравствуйте, имею задание:
На плоскости заданы координаты 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
103
104
105
106
107
108
109
110
111
112
void ShowGraph ( int **Graph, int countVertices ){
    cout << "\n";
    for ( int i = 0; i < countVertices; i++ ){
        for ( int j = 0; j < countVertices; j++ ){
            cout << Graph[i][j] << " ";
        }
        cout << "\n";
    }
    cout << "\n";
}
 
int AddEdgeOriented ( int **Graph, int countVertices ){
    int x, y;
    cout << "\nEnter coordinates of edge: ";
    cin >> x >> y;
 
    if ( x == y ){
        for ( int i = 0; i < countVertices; i++ ){
            for ( int j = 0; j < countVertices; j++ ){
                Graph[y-1][x-1] = 0;
            }
        }
        return 0;
    }
 
    else{
        for ( int i = 0; i < countVertices; i++ ){
            for ( int j = 0; j < countVertices; j++ ){
                Graph[y-1][x-1] = 1;
            }
        }
        return 1;
    }
}
 
int AddEdgeUnoriented ( int **Graph, int countVertices ){
    int x, y;
    cout << "\nEnter coordinates of edge: ";
    cin >> x >> y;
 
    if ( x == y ){
        for ( int i = 0; i < countVertices; i++ ){
            for ( int j = 0; j < countVertices; j++ ){
                Graph[y-1][x-1] = 0;
                Graph[x-1][y-1] = 0;
            }
        }
        return 0;
    }
 
    else{
        for ( int i = 0; i < countVertices; i++ ){
            for ( int j = 0; j < countVertices; j++ ){
                Graph[y-1][x-1] = 1;
                Graph[x-1][y-1] = 1;
            }
        }
        return 1;
    }
}
 
int main()
{
    int countVertices;
    cout << "Enter number of vertices: "; // Количество вершин
    cin >> countVertices;
 
    int **Graph, i, j;
    Graph = new int *[countVertices];
 
    for ( i = 0; i < countVertices; i++ ){
        Graph[i] = new int [countVertices];
    }
 
    for ( i = 0; i < countVertices; i++ )
        for ( j = 0; j < countVertices; j++ )
            Graph[i][j] = 0;
    ShowGraph (Graph, countVertices);
 
 
 
    int countEdges; // Количество рёбер
    cout << "\nHow many edges you want to add? - ";
    cin >> countEdges;
 
    char flag;
    for ( i = 0; i < countEdges; i++ ){
        cout << "Oriented edge? y / n: ";
        cin >> flag;
        if (flag == 'y')
            AddEdgeOriented (Graph, countVertices);
        else
            AddEdgeUnoriented (Graph, countVertices);
    }
    ShowGraph (Graph, countVertices);
 
/*
    int initialElement; // начальный элемент
    cout << "Enter initial element: ";
    cin >> initialElement;
*/
 
/*
   построение контура
*/
 
    for ( i = 0; i < countVertices; i++ )
            delete [] Graph[i];
    delete [] Graph;
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru