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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.96
gretham
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
#1

Вектор векторов - C++

17.08.2011, 23:33. Просмотров 2900. Ответов 14
Метки нет (Все метки)

Вектор векторов - плюсы и минусы, альтернативы. Подскажите новичку)

P.S. Внутри массив из 2х интов)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
17.08.2011, 23:41     Вектор векторов #2
Цитата Сообщение от gretham Посмотреть сообщение
альтернативы
C++
1
std::vector<std::pair<int, int> >
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.08.2011, 23:42     Вектор векторов #3
альтернатива
C++
1
2
typedef int arr[2];
std::vector< arr > vec;
gretham
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
17.08.2011, 23:45  [ТС]     Вектор векторов #4
Наверно не так выразился. Мне нужна матрица, каждый элемент которой - массив из 2х интов.
Евгений М.
1034 / 975 / 53
Регистрация: 28.02.2010
Сообщений: 2,818
Завершенные тесты: 2
17.08.2011, 23:47     Вектор векторов #5
Цитата Сообщение от gretham Посмотреть сообщение
матрица, каждый элемент которой - массив из 2х интов.
Жесть.
C++
1
vector < vector < int[2] >> t;
Компилятора под рукой нет.
gretham
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
17.08.2011, 23:48  [ТС]     Вектор векторов #6
Цитата Сообщение от Евгений М. Посмотреть сообщение
Жесть.
C++
1
vector < vector < int[2] >> t;
Компилятора под рукой нет.
Так я и делаю, господа я спрашиваю, есть ли какие - то альтернативы этому?)))
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.08.2011, 23:50     Вектор векторов #7
Цитата Сообщение от gretham Посмотреть сообщение
Так я и делаю, господа я спрашиваю, есть ли какие - то альтернативы этому?)))
суть предложеных выше альтернатив не меняется
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
17.08.2011, 23:50     Вектор векторов #8
gretham, хм... Второй пост.
gretham
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
17.08.2011, 23:55  [ТС]     Вектор векторов #9
Цитата Сообщение от easybudda Посмотреть сообщение
gretham, хм... Второй пост.
Я не силен в STL но судя по второму посту будет нечто

1 1

2 1

3 1

А мне нужно

1 1 1 2 1 3

2 1 2 2 2 3

3 1 3 2 3 3

Или я что - то не так понял?)
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.08.2011, 23:57     Вектор векторов #10
Цитата Сообщение от gretham Посмотреть сообщение
Или я что - то не так понял?)
верно
C++
1
std::vector< std::vector < std::pair<int, int> > >
gretham
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
17.08.2011, 23:59  [ТС]     Вектор векторов #11
Цитата Сообщение от Maxwe11 Посмотреть сообщение
верно
C++
1
std::vector< std::vector < std::pair<int, int> > >
А чем это лучше этого:
CSS
1
vector < vector < int[2] >> t;
?
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
18.08.2011, 00:02     Вектор векторов #12
Цитата Сообщение от gretham Посмотреть сообщение
А чем это лучше
обращение по индексу короче чем first & second у pair
ну и расширить всегда можно
gretham
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
18.08.2011, 00:04  [ТС]     Вектор векторов #13
Тема закрыта)
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
18.08.2011, 00:18     Вектор векторов #14
хм...странно такой код работает(без оптимизаций, g++)
C++
1
2
3
4
5
6
7
8
#include <vector>
 
int main()
{
    typedef int array[2];
    std::vector< array > vec;
    return 0;
}
а такой нет
C++
1
2
3
4
5
6
7
8
9
#include <vector>
 
int main()
{
    typedef int array[2];
    std::vector< array > vec;
    array k = { 1, 2 };
    vec.push_back(k);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2011, 00:41     Вектор векторов
Еще ссылки по теме:

C++ Загрузка txt в вектор векторов
C++ Транспонировать вектор векторов
Как обьявить вектор векторов? C++
C++ Выдать вектор с максимальной длиной среди векторов
C++ Вектор векторов строк

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

Или воспользуйтесь поиском по форуму:
grizlik78
Эксперт С++
1897 / 1429 / 106
Регистрация: 29.05.2011
Сообщений: 2,985
18.08.2011, 00:41     Вектор векторов #15
Цитата Сообщение от Maxwe11 Посмотреть сообщение
а такой нет
Элемент создаётся вызовом new с непустым списком инициализации, что для массива некорректно. Так что массив в качестве элемента — плохой выбор. Плохой он ещё и потому, что если подумать, как элементы будут удаляться...
Yandex
Объявления
18.08.2011, 00:41     Вектор векторов
Ответ Создать тему
Опции темы

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