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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 413
#1

как создать вектор из векторов и как потом к нему обращаться? - C++

29.04.2010, 19:47. Просмотров 3792. Ответов 8

Банальный вопрос - как создать вектор из векторов и как потом к нему обращаться?
вот vector<int> a; - это, понятное дело, вектор а, а вот vector<(vector<int>)> a; написать нельзя. ХЗ как обойти это?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2010, 19:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как создать вектор из векторов и как потом к нему обращаться? (C++):

Создать шаблонную матрицу как вектор векторов - C++
Здравствуйте! Пишу программу по матрицам. При чем матрица создается здесь как вектор векторов. Не могу никак справиться с ошибкой, не...

Как создать массив объектов одного класса в другом, и как к ним обращаться? - C++
вот класс: #include &lt;iostream&gt; #include &lt;string.h&gt; using namespace std; class File { private: char *name, *date; int ...

Как обьявить вектор векторов? - C++
Как обьявить вектор векторов? Так ругается vector&lt;vector&lt;int&gt;&gt; matrix = { {1, 2}, {3, 4} }; Так тоже const int ROWS =...

Как через push_back заполнить вектор векторов? - C++
Как через push_back заполнить вектор векторов? просто вектор например так: for(int i=0;i&lt;100;i++) m.push_back(rand()/100);...

Как объявить вектор векторов, если размеры изначально неизвестны? - C++
Как правильно объявить вектор векторов, если размеры изначально неизвестны? и как заносить значения ?

Как правильно записать число в вектор, который состоит из векторов? - C++
Что-то никак не соображу. Каждый элемент - это вектор... std::vector&lt; std::vector&lt;int&gt; &gt; v; ... v = 1; // error C2679: бинарный...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
29.04.2010, 19:50 #2
C++
1
std::vector< std::vector<std::string> > wordmas(rows, std::vector<std::string>(cols));
Добавлено через 54 секунды
вместо string - любой тип можно

Добавлено через 46 секунд
обращатся потом к нему как к обычному массиву
C++
1
2
wordmas[0][0]=
wordmas[1][0]=
или через итераторы ::iterator
1
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
29.04.2010, 22:18 #3
если быстродействие не критично - желательно обращатся через "wordmas.at(0).at(0)=" - поможет избежать "скрытые" ошибки (выход за границы вектора)
1
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
29.04.2010, 22:28 #4
Цитата Сообщение от Roma_F Посмотреть сообщение
если быстродействие не критично - желательно обращатся через "wordmas.at(0).at(0)=" - поможет избежать "скрытые" ошибки (выход за границы вектора)
А через индексатор разве можно выйти за пределы массива? Он также кидает исключение при выходе за границы вектора.
0
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
29.04.2010, 22:48 #5
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Он также кидает исключение при выходе за границы вектора
борландовский не кидает - берёт из памяти мусор
а на codepad.org выкинул
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
29.04.2010, 22:52 #6
Roma_F, возможно, но это уж проблема Borland'а.
0
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
29.04.2010, 23:06 #7
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
но это уж проблема Borland'а.
и тех кто им пользуется, поэтому ".at(0).at(0)" может пригодится

Добавлено через 8 минут
p.s. зачем же тогда "at(...)" у вектора - заплатка для Борланда?
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
29.04.2010, 23:26 #8
Roma_F, ты был прав, индексатор не кидает исключения при выходе за пределы вектора, в отличии от at, не знал.
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
30.04.2010, 03:06 #9
Iworb, недавно совсем было - пример заполнения случайными числами и сортировки: Используя функции сформировать с помощью генератора случайных чисел двумерный массив и вывести его на экран
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2010, 03:06
Привет! Вот еще темы с ответами:

как заполнить вектор векторов прямо в программе (самый быстрый метод) - C++
почему не работает? #include&lt;cstdio&gt; #include &lt;vector&gt; using namespace std; vector&lt;int&gt; a; int main(){ a={4,6}; ...

Создать класс для обработки векторов разность векторов норму векторов - C++
Создать класс для обработки векторов разность векторов норму векторов

Рассматривая каждую строку прямоугольной матрицы как вектор, найти номера векторов-строк, для которых модуль их скалярного произведения S имеет максим - C++
Рассматривая каждую строку прямоугольной матрицы как вектор, найти номера векторов-строк, для которых модуль их скалярного произведения S...

Как создать вектор из матриц? - C++
Как с помощью контейнера vector создать вектор из матриц, которые являются двумерными динамическими массивами? P.S желательно с примером...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.04.2010, 03:06
Ответ Создать тему
Опции темы

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