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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
MsHassium
2 / 2 / 0
Регистрация: 04.03.2012
Сообщений: 21
#1

Представление графа через вектор векторов - C++

14.09.2012, 22:00. Просмотров 1528. Ответов 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
#include<fstream>
#include<sstream>
#include<iostream>
#include<string>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in("input.txt");
ofstream out("output.txt");
int main()
{
    std::stringstream ss;
    string s;
    int n,num1,num2,temp;
    in>>n; 
    in.get();
    vector<vector<int>> vec(n);
    
    for(int i=0;i<n;i++)
    {
        getline(in,s);
        ss<<s;
        while(!ss.eof())
        {
            ss>>temp;
            vec[i].push_back(temp);
        }
        
 
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<vec[i].size();j++)
            out<<vec[i][j]<<" ";
    }
    return 0;
}
на вход подаю такие данные
4 // кол-во вершин графа
1 2 3//сам список смежности
2 1
1 2
1 3
На выход выдается
1 2 3

Добавлено через 1 час 12 минут
Сам решил проблему вот рабочий код
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
#include<fstream>
#include<sstream>
#include<iostream>
#include<string>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in("input.txt");
ofstream out("output.txt");
int main()
{
    
    string s;
    int n,num1,num2,temp;
    in>>n; 
    in.get();
    vector<vector<int>> vec(n);
    for(int i=0;i<n;i++)
    {
                std::stringstream ss;
        getline(in,s);
        ss<<s;
        while(!ss.eof())
        {
            ss>>temp;
            vec[i].push_back(temp);
        }
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<vec[i].size();j++)
            out<<vec[i][j]<<" ";
    }
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2012, 22:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Представление графа через вектор векторов (C++):

Как через push_back заполнить вектор векторов? - C++
Как через push_back заполнить вектор векторов? просто вектор например так: for(int i=0;i&lt;100;i++) m.push_back(rand()/100);...

Проверить можно ли выразить линейно один из векторов массива через заданный вектор - C++
Дан массив векторов, и вектор b можно ли выразить вектор(один из массива) линейно через b Вообщем создал наброски, генерация массива,...

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

Представление матрицы в виде векторов Айлиффа - C++
Нужно реализовать представление матрицы методом Айлиффа. С принципом ознакомился но как реализовать не знаю ...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2012, 22:00
Привет! Вот еще темы с ответами:

Вектор векторов - C++
Хочу создать вектор, содержащий векторы, которые содержат строки. Написал такой код: #include &lt;iostream&gt; #include &lt;vector&gt; ...

Вектор векторов - C++
Вектор векторов - плюсы и минусы, альтернативы. Подскажите новичку) P.S. Внутри массив из 2х интов)

вектор векторов - умножение - C++
У меня есть: vector&lt;std::vector&lt;double&gt;&gt; a std::vector&lt;double&gt; b мне нужно умножить ветора вектора векторов...

Транспонировать вектор векторов - C++
Есть кусочек кода, который генерирует вектор векторов matrix, как можно транспонировать matrix? Планируется потом отсортировать строки...


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

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

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