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

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

Войти
Регистрация
Восстановить пароль
 
Kalrh
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 8
#1

Ассоциативный массив map c двумерным массивом - C++

18.05.2013, 22:26. Просмотров 988. Ответов 5
Метки нет (Все метки)

Искал информацию в интернете но безрезультатно. Необходимо сделать ассоциативный массив с со строковым ключом и двумерным массивом 3х3 в качестве значения ключа.

создаю ассоциативный массив:
C++
1
map <string,int[3][3]>  MyMap;
а как его заполнить?? (конкретно массив 3х3)

пробовал так:
C++
1
dungeon_layout["Box"]    =  {{1,1,1},{1,0,1},{1,1,1}};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2013, 22:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ассоциативный массив map c двумерным массивом (C++):

ассоциативный массив MAP хранящий указатели на векторы определенной структуры - C++
вопрос: Если я создаю вектор, наполняю его данными и записываю указатель на него в MAP ,след шагом очищаю его. Я смогу обращаться к данному...

Ассоциативный контейнер типа map - C++
Привет! Помогите пожалуйста найти ошибку. Программа с Ассоциативным контейнером типа map&lt;string, int&gt;. Прога подсчитывает колличество...

Задача с двумерным массивом - C++
Здравствуйте, помогите пожалуйста. Получить квадратную матрицу порядка n по заданному образцу: (1 0 0 ... 0 0 1) |1 1 0 ... 0 1 1| ...

Координатная плоскость двумерным массивом - C++
Здравствуйте! скажите пожалуста можно ли сдлелать некий аналог координатной плоскости используя двумерный массив. То есть, чтобы имея...

Работа с динамическим двумерным массивом - C++
Написал код. В двумерном массиве 5х5 находится максимальное значение каждой строки и затем минимальное из них. Необходимо указывать...

Как работать с двумерным массивом? - C++
Есть такой вот массив: int ary = { { 1, 2, 3, 4, 5 }, { 2, 4, 6, 8, 10 }, { 3, 6, 9, 12, 15 } Здесь 3 строки и 5...

5
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
18.05.2013, 22:49 #2
для начала, надо вставить элемент с помощью функции insert, а потом уже к нему обращаться.
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
18.05.2013, 23:58 #3
Указывать массив в качестве параметра шаблона в данном случае бесполезно. Дело в том, что простые массивы нельзя присваивать друг другу, следовательно вы просто не сможете вставить в map ни одного элемента Для того чтобы это заработало, над массивом придётся писать(или использовать готовую) обёртку. При этом списки инициализации будут работать только в C++11, для С++98 придётся всё заполнять вручную.

Добавлено через 4 минуты
Цитата Сообщение от metaluga145 Посмотреть сообщение
для начала, надо вставить элемент с помощью функции insert, а потом уже к нему обращаться.
http://www.cplusplus.com/reference/map/map/operator[]
mapped_type& operator[] (const key_type& k);

If k matches the key of an element in the container, the function returns a reference to its mapped value.
If k does not match the key of any element in the container, the function inserts a new element with that key and returns a reference to its mapped value...
0
Kalrh
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 8
19.05.2013, 00:31  [ТС] #4
Цитата Сообщение от metaluga145 Посмотреть сообщение
для начала, надо вставить элемент с помощью функции insert, а потом уже к нему обращаться.
насколько знаю, символ " = " приравнивается к операции insert, если ошибаюсь поправьте.
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
19.05.2013, 00:48 #5
Цитата Сообщение от Kalrh Посмотреть сообщение
насколько знаю, символ " = " приравнивается к операции insert, если ошибаюсь поправьте.
Ошибаетесь. Вставку осуществляет оператор [], а не оператор присваивания(см. мой предыдущий пост).
0
Kalrh
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 8
19.05.2013, 01:11  [ТС] #6
rangerx, благодарю.
0
19.05.2013, 01:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2013, 01:11
Привет! Вот еще темы с ответами:

Функция работы с двумерным массивом - C++
Не могу вызвать функцию в основной программе. В задании перед массивом двумерным вообще требуется поставить 1 указатель,но так тоже не...

Легкая переделка для использования с двумерным массивом - C++
Изначально писал прогу для использования с одномерным массивом, но возникла потребность в использовании функции для каждой строки...

Работа с двумерным массивом - разобрать строку кода - C++
Изучаю С++ по книге Шилдт Г.(базовый курс 3-е издание). В теме двумерных массивов столкнулся со строкой, над которой сколько бы не ломал...

Создание типа данных схожего с двумерным массивом - C++
Изучаю сейчас ООП в С++, и в качестве жертвы выбрал создание нового типа данных аля матрица. Проблема в том, как сделать, чтобы с ним можно...


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

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

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