Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Quiero hacer un map cuyo dato sea otro map

Estas en el tema de Quiero hacer un map cuyo dato sea otro map en el foro de C/C++ en Foros del Web. Buenas. Resulta que para un programa, preciso de hacer algo así: Código: map<char, map<char, int> > ind_anio; El problema lo tengo al insertar datos. Estoy, ...
  #1 (permalink)  
Antiguo 17/12/2012, 15:00
Avatar de iblancasa  
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 143
Antigüedad: 11 años, 3 meses
Puntos: 16
Pregunta Quiero hacer un map cuyo dato sea otro map

Buenas.
Resulta que para un programa, preciso de hacer algo así:
Código:
map<char, map<char, int> > ind_anio;
El problema lo tengo al insertar datos. Estoy, en un código a parte, intentando buscar una solución a mi problema:

Código C++:
Ver original
  1. #include<iostream>
  2. #include<map>
  3.  
  4.  
  5. using namespace std;
  6. int main(){
  7.     map<char, map<char, int> > ind_anio;
  8.     pair<char,int> auxiliar('c',25);
  9.     ind_anio.insert(pair<char,pair<char,int> >('a',auxiliar));
  10. }
Obtengo errores de compilación en donde hago el insert.
También he probado con:
Código C++:
Ver original
  1. #include<iostream>
  2. #include<map>
  3.  
  4.  
  5. using namespace std;
  6. int main(){
  7.     map<char, map<char, int> > ind_anio;
  8.     ind_anio.insert(pair<char,pair<char,int> >('a',('c',25)) );
  9. }

Obtengo errores en la misma línea.

¿Alguien podría ayudarme? Tengo que usar ésta estructura, ya que es para un trabajo de la universidad.

Gracias.
Un saludo.

Última edición por iblancasa; 17/12/2012 a las 16:13
  #2 (permalink)  
Antiguo 17/12/2012, 16:22
Avatar de iblancasa  
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 143
Antigüedad: 11 años, 3 meses
Puntos: 16
Respuesta: Quiero hacer un map cuyo dato sea otro map

Ya he encontrado la solución:
Código C++:
Ver original
  1. #include<iostream>
  2. #include<map>
  3. *
  4. *
  5. using namespace std;
  6. int main(){
  7. * * map<char, map<char, int> > ind_anio;
  8. * * pair<char,int> auxiliar('c',25);
  9. * * ind_anio.insert(pair<char,pair<char,int> >('a',auxiliar));
  10. }
Es realmente así:
Código C++:
Ver original
  1. #include<iostream>
  2. #include<map>
  3. using namespace std;
  4.  
  5. int main(){
  6.     map<char, map<char, int> > ind_anio;
  7.     ind_anio['a']['c']=25;
  8.     cout<<ind_anio['a']['c']<<endl;
  9. }

Gracias.
Un saludo.

Etiquetas: dato, estructura, int, map, programa, quiero, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:48.