Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2012, 16:28   #1
Freewill
Пользователь
 
Аватар для Freewill
 
Регистрация: 11.03.2011
Сообщений: 19
Вопрос Вектор векторов

Код:
#include <vector>
using namespace std;

vector <vector <bool> > adj;
for (int i=0;i<Vcnt;i++) 
		adj[i].assign(Vcnt,false);
Почему VS 2010 ругается на такое представление вектора векторов? То выдает, что объявление неправильно, то out of range.

Можно как-то по другому это задать, или проще массив использовать?

Последний раз редактировалось Freewill; 19.02.2012 в 16:50.
Freewill вне форума Ответить с цитированием
Старый 19.02.2012, 16:56   #2
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

Код:
bool **a;
*a = new bool[10];
for(int i = 0; i < 10; i ++)
a[i] = new bool(false);
Такой вариант не нра? или обязательно нужно использовать vector?
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Старый 19.02.2012, 16:58   #3
Freewill
Пользователь
 
Аватар для Freewill
 
Регистрация: 11.03.2011
Сообщений: 19
По умолчанию

Я пытаюсь построить матрицу смежности для графа, у которого количество вершин задается пользователем.
Freewill вне форума Ответить с цитированием
Старый 19.02.2012, 17:01   #4
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

ну и что тебя останавливает?
Код:
bool **a;
cin << n << m;
*a = new bool[n];
for(int i = 0; i < n; i ++)
     a[i] = new bool[m];
P.S. тот массив который ты объявлял не очень пойдет для матрицы смежности
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL

Последний раз редактировалось Inv1s; 19.02.2012 в 17:04.
Inv1s вне форума Ответить с цитированием
Старый 19.02.2012, 17:10   #5
Freewill
Пользователь
 
Аватар для Freewill
 
Регистрация: 11.03.2011
Сообщений: 19
По умолчанию

Спасибо, воспользуюсь, но насчет вектора интересно все равно.
Freewill вне форума Ответить с цитированием
Старый 19.02.2012, 17:11   #6
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

Как я помню он не поддерживает это. Мб и ошибаюсь, но раньше тоже хотел нтак написать.
+
Цитата:
P.S. тот массив который ты объявлял не очень пойдет для матрицы смежности
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Старый 19.02.2012, 18:05   #7
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Inv1s
Цитата:
Как я помню он не поддерживает это
глупости говоришь

Цитата:
P.S. тот массив который ты объявлял не очень пойдет для матрицы смежности
это почему? для невзвешенного графа очень даже пойдет

2Freewill
ты просто неправильно инициализируешь свою "матрицу"
Код:
int count = 10;
vector <vector <bool> > arr;

for (int i = 0; i < count; i++)
    arr.push_back(vector<bool>(count, false));
а вообще не вижу плюсов от использования векторов в векторе для матрицы смежности. если программа тривиальная - просто используй обычный массив. нет - создай класс матрицы смежности и в него зарой методы для работы с ней
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 19.02.2012 в 18:07.
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скалярное произведение векторов Wika17 Паскаль, Turbo Pascal, PascalABC.NET 1 29.12.2010 11:32
Перемножение векторов Smile_Eminsa Общие вопросы C/C++ 0 11.05.2010 09:14
Массив из 2 векторов GreatMuse Общие вопросы C/C++ 6 30.01.2010 22:09
Ввод векторов и матриц, умножение матрицы на вектор и вычисление скалярного призведения двух векторов zverushka Помощь студентам 18 20.02.2009 15:25