Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 6
1

Представление графов С++

12.10.2016, 19:40. Показов 2949. Ответов 2
Метки нет (Все метки)

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
#include <iostream>
#include <vector>
 
using namespace std;
 
int n; 
int m;
vector<int> *adj; 
vector<bool> used; 
    
 
void dfs(int v) { 
    
    if (used[v]) { 
        return;
    }
    used[v] = true; 
    printf("%d ", v + 1);
     
    for (int i = 0; i < adj[v].size(); ++i) {
        int w = adj[v][i];
        dfs(w); 
    }
}   
 
 
void readData() {
    scanf("%d %d", &n, &m); 
    adj = new vector<int>[n]; 
 
    
    for (int i = 0; i < m; ++i) {
        int v, w;
        scanf("%d %d", &v, &w);
        v--;
        w--;
        //добавляем ребро (v, w) в граф
        adj[v].push_back(w);
        adj[w].push_back(v);
    }
    used.assign(n, false);  
}
 
int main()
{
    readData();
    for (int v = 0; v < n; ++v) {
        dfs(v);
    }
    return 0;
}
Например:
11 13
1 2
1 3
2 4
2 5
3 6
3 7
4 8
4 9
5 9
6 10
6 11
7 10
7 11

1 2 4 8 9 5 3 6 10 7 11

Помогите сделать методом "Чтение информации из текстового файла"
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2016, 19:40
Ответы с готовыми решениями:

Представление графов С++
Считывания графу из входного файла. На вход подается текстовый файл следующего вида: n m v1 u1...

Представление графов. Динамические структуры
Приветствую! Вот есть задание:&quot;По ориентированному графу G постройте ориентированный граф G',...

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

Теорие графов. Композиция двух неор. графов.
Здравствуйте. Прошу помощи уже здесь :| (old topic)... Прошу помочь с составлением алгоритма...

2
79 / 79 / 34
Регистрация: 26.10.2011
Сообщений: 220
12.10.2016, 19:49 2
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
void readData() 
{
    FILE *fp=fopen("input.txt","r");
    if(fp==NULL)
    {
      printf("file open error\n");
      return;
    }
 
    fscanf(fp, "%d %d", &n, &m); 
    adj = new vector<int>[n]; 
 
    for (int i = 0; i < m; ++i) 
    {
        int v, w;
        fscanf(fp, "%d %d", &v, &w);
        v--;
        w--;
        //добавляем ребро (v, w) в граф
        adj[v].push_back(w);
        adj[w].push_back(v);
    }
    used.assign(n, false); 
    fclose(fp);
}
1
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 6
12.10.2016, 20:23  [ТС] 3
Спасибо!Самом деле помогли.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2016, 20:23

Списковое представление графов
Помогите разобраться с задачей где нужно, используя списковое представление графов и рекурсивные...

Представление графов и рекурсивные функции
Для заданного орграфа определить минимальный набор узлов, удаление которых (вместе с входящими или...

Представление графов в памяти компьютера
Необходимо решить три задачи, условия: №1. Дан взвешенный граф. Найти кратчайший путь из А в В....

Разработать программу, используя списковое представление графов и рекурсивные функции
Здравствуйте! Помогите, пожалуйста, написать программу на LISP. Задача следующая: Используя...


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

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

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