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

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

Войти
Регистрация
Восстановить пароль
 
Priorzivil
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 11
#1

Использовать представление графа в виде списков смежности добавить в орграф новую вершину - C++

11.03.2013, 18:07. Просмотров 642. Ответов 0
Метки нет (Все метки)

Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен

задача 11 Граф 2
использовать представление графа в виде списков смежности
добавить в орграф новую вершину.

Input:
Код
6
1 2 3
2 1 3 4
3 1 2 5
4 2 5
5 3 4 6
6 5
5
7 6
7 1
8 7
8 3
9 8


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
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <fstream>
 
using namespace std;
 
vector<vector<int>> g;
int n;
 
int main () {
    freopen("input.txt", "r", stdin);
    cin >> n;
    g.resize(n);
    for (int i = 0; i < n; i++) {
        int a;
        cin >> a;
        a--;
        while (cin.peek() != '\n' && cin.peek() != EOF) {
            int b;
            cin >> b;
            b--;
            g[a].push_back(b);
        }
    }
 
    int k;
    cin >> k;
    for (int i = 0; i < k; i++) {       
        // Дуга из v в u
        int v, u;
        cin >> v >> u;
        if (u > g.size() || v > g.size()) {
            g.push_back(vector<int>());
            n = g.size();
        }
        --u;
        --v;
        g[v].push_back(u);
    }
 
    cout << "spisok smeznosti grapha:" << endl;
    for (int i = 0; i < n; i++) {
        cout << i + 1 << ": ";
        for (int j = 0; j < g[i].size(); j++)
            cout << g[i][j] + 1 << " ";
        cout << endl;
    }
 
    return 0;
}



output:
Код
spisok smeznosti grapha:
1: 2 3
2: 1 3 4
3: 1 2 5
4: 2 5
5: 3 4 6
6: 5
7: 6 1
8: 7 3
9: 8
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 18:07     Использовать представление графа в виде списков смежности добавить в орграф новую вершину
Посмотрите здесь:

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

Реализовать представление графа в виде списка ребер в С++ - C++
Реализуйте представление графа в виде списка ребер (массива одно связанных списков) С режимами работы:1)Добавление элементов.2)Просмотр...

Организовать представление множеств в виде линейных однонаправленных списков - C++
Даны два множества А и В. Организовать представление множеств в виде линейных однонаправленных списков. Мощность множеств и элементы...

Определить, имеет ли данный ациклический орграф корень. Список смежности - C++
Корень ациклического графа-такая вершина u,что из нее существуют пути в каждую из остальных вершин орграфа. Определить, имеет ли данный...

Список смежности для графа - C++
Доброго времени суток. Не могли бы вы мне подсказать, как построить список смежности для вершин графа. В интернете много примеров, но мало...

Определить планарность графа по матрице смежности - C++
в общем есть файлы с матрицами смежностей, формат файла прикладыва. (graph1.txt , graph2.txt) В первой строчке указывается количество...

Сгенерировать матрицу смежности полного графа - C++
1. Сгенерировать матрицу смежности полного графа (количество вершин n = 3) и найти минимальный гамильтонова цикла методом полного перебора....

список смежности и проход графа в ширину - C++
нужно создать список смежности и пройти граф в ширину. как с помощью struct{}; создать список смежности? список смежности: 0: 5 ...

Как передать в функцию список смежности графа? - C++
Как передать в функцию список смежности графа который представлений как вектор векторов - vector&lt;vector&lt;int&gt;&gt; adj

Графическое представление графа - C++
Помогите плз: Граф задаётся своей матрицей смежностей. Вывести на экран: • графическое представление графа. для меня она о4...

Представление графов с помощью связных списков - C++
Здравствуйте уважаемые форумчане. Помогите мне пожалуйста. Никак не могу понять как представить граф с помощью связанных списков. Я так...

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


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

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

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