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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.74
Den4ik
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 42
#1

Проблема с vector - C++

07.09.2011, 17:49. Просмотров 4238. Ответов 19
Метки нет (Все метки)

Объявляю булевый вектор
C++
1
vector<bool> used;
затем заполняю его false'ами
C++
1
2
for (int i=0; i<n; i++)
        used[i] = false;
выходит ошибка при компиляции:

Debug Assertion Failed!
...\vector
Line: 1501

Expression: vector <bool> iterator not dereferencable

..............
и еще одна

Expression: ("Standart C++ Libraries Out of Range" 0)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2011, 17:49     Проблема с vector
Посмотрите здесь:

Проблема с vector - C++
Здравствуйте! Есть класс BucketSort: #ifndef BUCKETSORT_H #define BUCKETSORT_H #include &lt;vector&gt; class BucketSort { ...

Проблема с <vector> - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;vector&gt; using namespace std; void smb_in(); int main() { ...

Проблема с итератором в <vector> - C++
Всем привет. Помогите пожалуйста решить проблему: У меня существует класс class Book { string author,title,publishing; int...

Bind vector<vector<A*>> - C++
Привет всем ! вот код struct A { void qwer(int a) { qDebug()&lt;&lt;a; } }; int main(int argc, char...

Поиск в vector < vector <T> > - C++
есть двумерный массив vector &lt; vector &lt;double&gt; &gt; a(size, vector&lt;double&gt;(size, 0)); заполняем рандомом, надо найти индекс последнего...

vector<vector<double>> => 2 * vector<vector<double>> - C++
Здравствуйте. У меня следующий вопрос. Имеется двумерный массив, созданный через класс vector&lt;vector&lt;double&gt;&gt; и пусть последний столбец...

vector < vector < pair<int,int> > > g - C++
Подскажите как мне считать файл *.txt- 2 7 3 9 6 14 1 7 4 15 3 10 .................. где числа идут парами( (2,7),(3,9),(6,14) ) в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
07.09.2011, 17:50     Проблема с vector #2
Если в массив ничего не добавляли, то обращение к несуществующим элементам.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
07.09.2011, 17:55     Проблема с vector #3
C++
1
2
3
vector<bool> used;
for (int i=0; i<n; i++)
                used.push_back(false);
Den4ik
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 42
07.09.2011, 18:05  [ТС]     Проблема с vector #4
Извините за глупый вопрос(это ж vector), давно просто уже парюсь сижу. Можете сразу напомнить какой функцией достать итый элемент? used.at(i)???
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
07.09.2011, 18:07     Проблема с vector #5
Цитата Сообщение от Den4ik Посмотреть сообщение
Извините за глупый вопрос(это ж vector), давно просто уже парюсь сижу. Можете сразу напомнить какой функцией достать итый элемент? used.at(i)???
Если этот элемент уже существует, то можно просто индексацией (а можно и at, различие в том, что at выбрасывает исключение в случае не валидного индекса).
Den4ik
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 42
07.09.2011, 18:26  [ТС]     Проблема с vector #6
Еще вопрос. Как итому элементу присвоить значение?
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
07.09.2011, 18:42     Проблема с vector #7
Den4ik, так же, через индексацию или at.
Den4ik
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 42
07.09.2011, 18:59  [ТС]     Проблема с vector #8
Пробовал, но ошибка подобная выходит.
на строке
C++
1
used.at(v->index) = true;
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
07.09.2011, 19:10     Проблема с vector #9
Den4ik, скажите, если у вас массив из четырёх элементов, как присвоить значение сто девятому?
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
07.09.2011, 19:41     Проблема с vector #10
Den4ik,
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
#include <iostream>
#include <vector>
 
int main()
{
    std::vector<bool> v;
    const int n = 11;
    int i;
 
    for (i = 0; i < n; i++)
        v.push_back(false);
 
    v[2] = true;
    for (i = 0; i < n; i++)
        std::cout << v[i] << ' ';
    std::cout << std::endl;
 
    v.at(3) = true;
    for (i = 0; i < n; i++)
        std::cout << v.at(i) << ' ';
    std::cout << std::endl;
 
    return 0;
}
Den4ik
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 42
07.09.2011, 19:55  [ТС]     Проблема с vector #11
talis,
v->index не может быть больше n.
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
07.09.2011, 19:57     Проблема с vector #12
Den4ik, а вы сказали вектору, что в нём содержится n элементов?
Den4ik
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 42
07.09.2011, 20:00  [ТС]     Проблема с vector #13
talis,
v->index не может быть больше n.
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
07.09.2011, 20:03     Проблема с vector #14
нельзя вектор из bool объявлять. лучше объявить как int
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2011, 20:05     Проблема с vector
Еще ссылки по теме:

set_difference(vector<pair<int,int>>, vector<int>> - C++
Мне бы провести эту операцию по первому значению pair. Это реально сделать через STL или придется самому написать?

Vector - C++
Доброго времени суток!:) У меня возник такой вопрос, допустим, имеется следующий код: #include &lt;iostream&gt; #include &lt;vector&gt; using...

vector - C++
допустим есть вектор vector &lt;pair &lt;vector &lt;int&gt;, int&gt; &gt; v вызываем функцию sort() sort(v.begin(), v.end()) как она сортирует?? ...

vector C++ - C++
Подскажите пожалуйста в чём ошибка?? Прогромма считывает слова, записывает в &quot;вектор&quot; и выводит этот вектор на экран. Компилятор VC++ 6.0...

vector - C++
Как я понял в С++ vector это замена динамическому массиву, как в Delphi ss : array of String; Только тут vector &lt;string&gt; ss; ...


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

Или воспользуйтесь поиском по форуму:
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
07.09.2011, 20:05     Проблема с vector #15
Den4ik, не надо мне два раза повторять. Если вы объявили вектор так:

C++
1
vector<bool> used;
То он не знает, что в нём должно быть место под n элементов. В нём места хватит на 0 (ноль) элементов, и как вы не пытайтесь, а элемент номер v->index вы в этот промежуток не втиснете. Смотрите:

C++
1
2
vector<bool> used;
cout << "Vector size = " << used.size() << '\n';
Цитата Сообщение от villu Посмотреть сообщение
нельзя вектор из bool объявлять. лучше объявить как int
villu, можно.
Yandex
Объявления
07.09.2011, 20:05     Проблема с vector
Ответ Создать тему
Опции темы

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