 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
-Spencer- Capt

Registrado: 03 Mar 2003Mensajes: 160Ubicación: Armenia - Colombia
|
Publicado: Lun 16 May, 2005 5:00 am Asunto: acceder a elementos de un map/multimap |
|
|
Hola a todos
Alguien puede decirme como hago para acceder a los elementos de un map o un multimap.
Se que los elementos quedan ordenados al ser ingresados, pero lo que no se es como acceder a cierto elemento del map, solo indicando la posicion, mas no indicando el dato mediante el metodo find("dato")....
... Como si fuese a acceder a un vector de la forma
int a = vector[5];
Espero haberme hecho comprender.
Gracias _________________ "Cállate, o di algo mejor que el silencio" |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 31 May, 2005 3:10 pm Asunto: |
|
|
Hola, map no esta pensado para trabajar de esta manera, lo que si puedes hacer es recorrerlo completo avanzando de uno en uno. Por ejemplo:
| Código: | std::map<String, int> m;
std::map<String, int>::iterator iter;
m["Uno"] = 1;
m["Dos"] = 2;
m["Tres"] = 3;
// Recorremos todo el map y lo mostramos
ShowMessage("Nº. elementos = " + IntToStr(m.size()) );
for (iter = m.begin(); iter != m.end(); iter++)
{
String str;
str.sprintf("%s = %d", iter->first, iter->second);
ShowMessage(str);
} |
Lo que si puedes hacer para "simular" esa forma de trabajar es empezar desde la primera posición avanzando una a una hasta llegar al índice que necesitas, por ejemplo:
| Código: | int posicion = 1; // (elemento 2) empezamos desde 0
ShowMessage("Elemento posición " + IntToStr(posicion) );
iter = m.begin();
while (posicion--)
++iter;
ShowMessage(iter->first + " = " + IntToStr(iter->second) ); |
|
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|