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

Не могу разобраться в vector<> - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ПОдскажите почему не работает rand? http://www.cyberforum.ru/cpp-beginners/thread969538.html
#include <iostream> #include <ctime> #include <cstdlib> using namespace std; struct item { int data; // данные item * next; // указатель на следующий элемен };
C++ Порядок вершин при поиске кратчайшего пути Есть алгоритм Дейкстры для поиска кратчайшего пути между вершинами. Прога ищет путь правильно и выдает число равное длине минимального пути, но никак не могу правильно сохранить сами номера вершин для их вывода(т.е. порядок вершин в кратчайшем пути). Не знаю в чем дело какие только условия отбора вершин не ставил, не могу придумать, не хватает опыта в программировании. #include <iostream>... http://www.cyberforum.ru/cpp-beginners/thread969532.html
Ошибка константа. как исправить? C++
помогите пожалуйста, как убрать эту ошибку?
Странное на мой взгляд объявление функции C++
Добрый день. В исходниках усмотрел следующую вещь: void __RPC_STUB IAMCollection_get_Count_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); Теперь мучает вопрос, что сие есть. То есть что есть когда после типа возвращаемого функцией значения пишется какая-нибудь ересь, что это означает и что делает....
C++ Цвет текста в С++ http://www.cyberforum.ru/cpp-beginners/thread969502.html
Я использую system("color _,_,") для задания цвета текста и фона . При такой записи меняется цвет всего текста программы . А как сделать так , чтобы цвет менялся только на определённом фрагменте кода ? Подскажите , пожалуйста .
C++ Не работают программы, в чем ошибка? Условие: Определить, пересекаются ли линии у=ах+b и y=kx+m. Если пересекаются, найти точку пересечения. #include <iostream> #include <math.h> using namespace std; int main() { float a,k,b,m,x,y; cout<<"a="; cin>>a; cout<<"k="; подробнее

Показать сообщение отдельно
enigma18
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 6
05.10.2013, 15:21     Не могу разобраться в vector<>
Доброго времени суток.
Не могу понять реализацию вектора, да и вообще с векторами плохо знакома.

Мне бы только показать, как ввести данные и вывести, думаю после сразу будет понятно, что к чему.

Вот код:
Кстати это алгоритм Крускала(теория графов: Минимальное островное дерево")

Кликните здесь для просмотра всего текста

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
#include <vector>
#include <algorithm>
#include <iostream>
 
using namespace std;
 
int main()
{
 
int m;
int n;
vector < pair < int, pair<int,int> > > g (m); // вес - вершина 1 - вершина 2
 
int cost = 0;
vector < pair<int,int> > res;
 
sort (g.begin(), g.end());
vector<int> tree_id (n);
for (int i=0; i<n; ++i)
    tree_id[i] = i;
for (int i=0; i<m; ++i)
{
    int a = g[i].second.first,  b = g[i].second.second,  l = g[i].first; // ??
    if (tree_id[a] != tree_id[b])
    {
        cost += l;
        res.push_back (make_pair (a, b));
        int old_id = tree_id[b],  new_id = tree_id[a];
        for (int j=0; j<n; ++j)
            if (tree_id[j] == old_id)
                tree_id[j] = new_id;
    }
}
}


взято с сайта e-maxx

у меня даже вводные данные есть)

Sample input
5 8
0 3 5
0 1 1
0 2 3
2 1 6
2 3 1
4 1 3
4 2 2
4 3 2

Вот что должно получится.
2 3 1
0 1 1
4 2 2
0 2 3

И что значит .first . second? Про них вообще ничего не написано. Остальное все понятно.

Если найдется добрая душа может покажете мне как этот же алгоритм реализуется еще на list<>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru