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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции C++ http://www.cyberforum.ru/cpp-beginners/thread652105.html
Всем привет! Начал переходить на С++. Вот увидел такой кусок кода вы не прокомментируете строчку: sscanf(ch, "R%I64dC%I64d", &l, &r) == 2 Меня интересует вот, что : 2 это код ошибки? если да, то какие еще есть коды ошибок у этой и у scanf. Буду благодарен, если кините ссылку на какую нибудь статью или что -то в этом роде
C++ Code::Blocks Когда нажимаешь среднюю среднюю кнопку мыши, то вставляется содержимое буфера обмена. Как это можно изменить? И еще где найти русифицированную Code::Blocks? http://www.cyberforum.ru/cpp-beginners/thread652098.html
C++ Указатель на тип данны
Если я правильно понял то: struct Vector{ int x; int y; }Ve; Vector - тип данных такой же как int только самописный, Ve - переменная этого типа typedef Vector Vec; теперь Vec точно такой же тип данных как и Vector, непонятно правда зачем такие заморочки, нет бы всегда объявлять переменные через Vector.
typedef double (*d)(double); C++
//--------------------------------------------------------------------------- #include "math.h" #include <stdio.h> #include <conio.h> #include <vcl.h> #pragma hdrstop //---------------------------------------------------------------------------
C++ нули после запятой http://www.cyberforum.ru/cpp-beginners/thread652091.html
Остаток на начало месяца Сумма всех элементов взимается этого клиента в этом месяце Сумма всех кредитов применяются на счет этого клиента в этом месяце Разрешенного кредитного лимита Программа должна использовать при заявлении на вход каждого из этих фактов, вычислить новый баланс (= начальное сальдо + обвинению кредитов) и определить, является ли новый баланс превышает кредитный лимит...
C++ Символ -1.#IND Решаю задачу. Считаю числа, а потом записываю их в .txt файл. Написал, запустил, потом открыл получившийся файл, а там первая строчка нормальная, а во второй строке вместо чисел символы -1.#IND Гугл мне ничего не выдал по этому поводу. Решил тут спросить, что это значит? Может там где-то деление на 0 произошло? Хотя вроде не было. Из-за чего это может быть? подробнее

Показать сообщение отдельно
MsHassium
2 / 2 / 0
Регистрация: 04.03.2012
Сообщений: 21
14.09.2012, 22:00     Представление графа через вектор векторов
Есть граф, нужно записать его список смежности в вектор векторов, на практике в ВУЗе был дан алгоритм, но есть проблема программа считывает только первую строку а адальше все проскакивает, собственно вот код
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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru