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

Ошибка при запуске программы "vector iterator not incrementable" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Произведение матриц, выход за границу массива http://www.cyberforum.ru/cpp-beginners/thread1070156.html
#include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> #include <math.h> using namespace std; void tselyi1(int **mas, int const n,int const m); void tselyi2(int **mas,...
C++ GTKMM tutorial туториал решил добавить этот туториал по GTKMM 3.0** так как качественных туториалов очень мало по этому GUI*. *-если вас задолбало консольное окно и хотите создать графическое приложени, (первую... http://www.cyberforum.ru/cpp-beginners/thread1070148.html
C++ Массив структур. Структура «Читатель»
поомогите ктонить. Структура «Читатель»: Фамилия И.О., номер читательского билета, название книги, срок возврата. Вывести читателей, название книги у которых начинаются с буквы ‘Л’. кто нибуть...
Рекурсивно найти n-ую производную для заданого x. Результат похож на шестнадцатеричный код C++
Задание:рекурсивно найти n-ую производную f(x)={e}^{(a{x}^{2}+bx+c)} для заданого x,построив для {f}^{(n)}(x) рекурентное соотношение. Получилась такая рекуррентная формула для n-ой производной:...
C++ Составить главную программу и функцию. Для данного вектора А(М) найти количество неповторяющихся элементов вектора http://www.cyberforum.ru/cpp-beginners/thread1070073.html
Здравствуйте. Буду очень благодарен,если кто нибудь напишет два кода к этим задачам. Спасибо за внимание. Задача 1. Составить главную программу и функцию. Для данного вектора А(М) найти ...
C++ Множество, LIFO, FIFO Добрый день. Дали список задач для курсача, но не могу понять что требуется в некоторых из них... был бы благодарен за помощь. 1) Множество. Сказали надо создать множество из 256 бит и что бы код... подробнее

Показать сообщение отдельно
wolf1396
6 / 6 / 0
Регистрация: 07.05.2013
Сообщений: 214

Ошибка при запуске программы "vector iterator not incrementable" - C++

13.01.2014, 14:10. Просмотров 736. Ответов 6
Метки (Все метки)

при запуске программы (без разницы какой функции) вылетает ошибка (заг. темы)
как это исправить?
мне кажется, что проблема в том, что я создаю класс (внутри функции) с неизвестным размером.
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include "stdafx.h"
#include <iostream>
#include <vector>
 
 
 
using namespace std;
//=============================
 
template <typename T> class Menge
{
private:
    vector <T> data;
public:
    Menge(int n=0)
    {
        if(n>0)
        {
            data.reserve(n);        
            cout << "Введите элементы множества: " << endl;
            T k;
            for(int i=0; i<n; i++)
            {
                cin >> k;
                data.push_back(k);
            }
        }
    }
    ~Menge()
    {
        data.clear();
    }
 
    //-------
    void print()
    {
        vector<T>::iterator it;
        cout << "vector: " << endl;
        for(it=data.begin(); it!=data.end(); it++)
        {
            cout << *it << " ";
        }
        cout << endl;
    }
    Menge Peresechenie(Menge& y)
    {
        Menge<T> res1;
        vector<T>::iterator it1, it2, it3;
        
        for (it1=data.begin(); it1!=data.end(); it1++)
        {
            for (it2=y.data.begin(); it2!=y.data.end(); it2++)
            {
                if(*it1==*it2)
                {
                    res1.data.push_back(*it1);
                }
                else
                {
                    it2++;
                }
            }
        }
        return res1;
    }
 
 
    Menge Raznost(Menge& y)
    {
        Menge<T> res2;
        vector<T>::iterator it1=data.begin(), it2;
 
        for(it1; it1!=data.end(); it1++)
        {
            for(it2=y.data.begin(); it2!=y.data.end(); it2++)
            {
                if (*it1==*it2)
                {
                    res2.data.push_back(*it1);
                }
            }
        }
        return res2;
    }
 
    /*Menge Obyedinenie(Menge y)
    {
        Menge<T> res;
        vector<T>::iterator it1;
        vector<T>::iterator it2;
        for(it1=data.begin(); it1!=data.end(); it1++)
        {
            res.data.push_back(it1);
        }
        for(it1=res.data.begin(); it1!=res.data.end(); it1++)
        {
            for(it2=y.data.begin(); it2!=y.data.end(); it2++)
            {
                if (*it1!=*it2)
                {
                    res.data.push_back(*it2);
                }
            }
        }
        return res3;
    }*/
 
    Menge PryamoeProizvedenie(Menge& y)
    {
        Menge<T> res4;
        
        vector<T>::iterator it1, it2;
        for(it1=data.begin(); it1!=data.end(); it1++)
        {
            for(it2=y.data.begin(); it2!=y.data.end(); it1++)
            {
                res4.data.push_back((*it1)*(*it2));
            }
        }
 
        return res4;
    }
 
    
 
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    int a=5;
    int b=6;
    Menge<float> A(a);
    A.print();
    Menge<float> B(b);
    B.print();
    Menge<float> R1;
    cout << "Попытка вывести вектор: (пересечение)" << endl;
    R1=A.Peresechenie(B);
    R1.print();
    cout << "Попытка вывести вектор: (разность)" << endl;
    Menge<float> R2;
    R2=A.Raznost(B);
    R2.print();
    //cout << "Попытка вывести вектор: (объединение)" << endl;
    //Menge<float> R3;
    //R3=A.Obyedinenie(B);
    //R3.print();
    cout << "Попытка вывести вектор: (ПП)" << endl;
    Menge<float> R4;
    R4=A.PryamoeProizvedenie(B);
    R4.print();
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru