0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 23
1

Контейнер map содержащий векторы

28.12.2016, 12:20. Показов 3353. Ответов 7

Доброго времени суток уважаемые!
Подскажите пожалуйста можно ли организовать map<vector, vector> и правильно ли так поступать?
Возможно есть более правильная альтернатива?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2016, 12:20
Ответы с готовыми решениями:

Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std::map?
Здравствуйте. Возможно ли создать контейнер std::map, в котором в качестве значения была бы...

Контейнер map
в программе используется ассоциативный массив, идентификатором которого являются символы проблема...

Контейнер map
Почему нельзя писать route? Строки 4,6. bool search(const map&lt;int, set&lt;string&gt;&gt;&amp; route, const...

Контейнер map
Cоздать ассоциативный список имен (ключей), телефонов. Осуществить поиск по именам. Дополнить...

7
Эксперт С++
3218 / 1745 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
28.12.2016, 12:34 2
Цитата Сообщение от vladimirse Посмотреть сообщение
Подскажите пожалуйста можно ли организовать map<vector, vector> и правильно ли так поступать?
Ну, вектор может быть ключом, если для его элементов определен оператор "меньше".
Цитата Сообщение от vladimirse Посмотреть сообщение
Возможно есть более правильная альтернатива?
А чему? Вы ж не написали какие требования у вас к этому контейнеру.
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.12.2016, 12:38 3
Цитата Сообщение от vladimirse Посмотреть сообщение
можно ли организовать map<vector, vector>
Можно
Цитата Сообщение от vladimirse Посмотреть сообщение
правильно ли так поступать?
Зависит от задачи
0
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 23
28.12.2016, 13:28  [ТС] 4
Цитата Сообщение от Mr.X Посмотреть сообщение
А чему? Вы ж не написали какие требования у вас к этому контейнеру.
Цитата Сообщение от MrGluck Посмотреть сообщение
Зависит от задачи
Да все достаточно просто, мне в функцию необходимо передать контейнер, значения из которого я бы смог выдергивать при помощи цикла, одновременно и ключ и значение.
В общем как то так:
C++
1
2
3
4
5
for(int i=0; i<=map.size(); i++){
...
qDebug() << map.key[i] "=" map.value[i];
...
}
0
Эксперт С++
3218 / 1745 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
28.12.2016, 13:50 5
Цитата Сообщение от vladimirse Посмотреть сообщение
Да все достаточно просто, мне в функцию необходимо передать контейнер, значения из которого я бы смог выдергивать при помощи цикла, одновременно и ключ и значение.
Ну, во-первых, контейнеры обходят не циклами, а стандартными алгоритмами, пользуясь при этом итераторами.
Если все же приходится циклами, то проще всего это делать новым циклом for с двоеточием.
Ну и забавно вы объясняете! А на кой
Цитата Сообщение от vladimirse Посмотреть сообщение
в функцию необходимо передать контейнер, значения из которого я бы смог выдергивать при помощи цикла, одновременно и ключ и значение
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.12.2016, 14:03 6
Цитата Сообщение от vladimirse Посмотреть сообщение
Да все достаточно просто, мне в функцию необходимо передать контейнер, значения из которого я бы смог выдергивать при помощи цикла, одновременно и ключ и значение.
В общем как то так:
Если вам нужно простое соответствие {значение1 -> значение2}, то подойдёт и обычная мапа (без векторов).
0
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 23
28.12.2016, 15:06  [ТС] 7
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну и забавно вы объясняете! А на кой
Ну я не так давно начал изучать с++, от этого и объясняю криво. )))

Цитата Сообщение от MrGluck Посмотреть сообщение
Если вам нужно простое соответствие {значение1 -> значение2}, то подойдёт и обычная мапа (без векторов).
Спасибо, именно так я и поступил! Почему то есть у меня склонность все усложнять. Но ради любопытства не могли бы вы показать как корректно реализовать контейнер map<vector, vector>? Я делал так:
C++
1
2
3
4
5
6
7
8
9
10
11
       std::vector<int> first_vector;
                 std::vector<int> second_vector;
 
                 for (int i = 0; i <= 10; i++)
                 {
                     first_vector.push_back(i);
                     second_vector.push_back(i+10);
                 }
 
                 std::map<std::vector <int>, std::vector <int> > my_map;
                 my_map.insert(pair < std::vector <int>, std::vector <int> >(first_vector, second_vector));
и была ошибка:

Код
file.cpp:158: error: 'pair' was not declared in this scope
                  my_map.insert(pair < std::vector <int>, std::vector <int> >(first_vector, second_vector));
                                ^
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.12.2016, 15:12 8
Лучший ответ Сообщение было отмечено vladimirse как решение

Решение

C++
1
std::pair
Добавлено через 1 минуту
Либо, что проще:
C++
1
my_map.insert(std::make_pair(first_vector, second_vector));
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2016, 15:12
Помогаю со студенческими работами здесь

Контейнер map
подскажите пожалуйста, как можно заполнить контейнер map с клавиатуры ?

Контейнер map
Стоит задача реализовать контейнер map. Вопрос возникает при реализации итератора для этого...

контейнер map
Помогите, пожалуйста дописать программу. Определите карту, в которой ключом является фамилия семьи,...

Контейнер map ?
Не совсем удается разобраться Не удается разобраться с ассоциативными контейнерами ! Как выглядит...

Контейнер map
Здравствуйте, работаю с контейнером map, анализирую текст, получаю записи типа &quot;слово: число его...

Перевернуть контейнер map?
Здравствуйте. Нужно отсортировать map по убыванию. Сделать что-то вроде прохода от map.end() до...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru