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

Vector char inicializar con nombres c++

Estas en el tema de Vector char inicializar con nombres c++ en el foro de C/C++ en Foros del Web. necesito ayuda con la inicializacion de un vector como atributo esta asi: char *nombres[4]; y para inicializarlo esta: nombres[4]="As","Rey","Quina","Jota"; no salen errores pero a la ...
  #1 (permalink)  
Antiguo 21/03/2009, 23:04
 
Fecha de Ingreso: noviembre-2008
Ubicación: aserri
Mensajes: 27
Antigüedad: 16 años
Puntos: 1
Vector char inicializar con nombres c++

necesito ayuda con la inicializacion de un vector
como atributo esta asi:
char *nombres[4];
y para inicializarlo esta: nombres[4]="As","Rey","Quina","Jota";
no salen errores pero a la hora de imprimir se cae el programa
for(int i=4;i<12;i++){
cout<< nombres[i]<<" ";}
que error es? o como se inicializa correctamente
GRACIAS!!!
  #2 (permalink)  
Antiguo 22/03/2009, 00:12
Avatar de MeduZaPaT  
Fecha de Ingreso: enero-2009
Ubicación: USA
Mensajes: 106
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Vector char inicializar con nombres c++

Cita:
Iniciado por kataty Ver Mensaje
necesito ayuda con la inicializacion de un vector
como atributo esta asi:
char *nombres[4];
y para inicializarlo esta: nombres[4]="As","Rey","Quina","Jota";
no salen errores pero a la hora de imprimir se cae el programa
for(int i=4;i<12;i++){
cout<< nombres[i]<<" ";}
que error es? o como se inicializa correctamente
GRACIAS!!!
eso que estas haciendo parece C, y vos queres trabajar en C++ que quedaria algo asi:

Código:
#include <string>
#include <vector>
using namespace std;
...
vector<string> mi_vector_string
....

mi_vector_string.push_back ("As");
mi_vector_string.push_back ("Rey");
mi_vector_string.push_back ("Quina");
mi_vector_string.push_back ("Jota");

for(c=0; c < mi_vector_string.size() ; c++){
      cout << mi_vector_string[c];
}
el codigo lo puse de memoria no se si esta bien pero mas o menos la idea es asi, esto es solo un ejemplo y una manera de usar los vectores de C++, la verdad son muy utiles y hay otra manera de usarlos (con iteradores por ejemplo)
  #3 (permalink)  
Antiguo 22/03/2009, 02:22
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Respuesta: Vector char inicializar con nombres c++

Estas asignando incorrectamente las cadenas al array, si lo queres hacer estaticamente esta es la forma mas simple:
Código:
char *nombres[] = 
{
  "As", "Rey", "Quina", "Jota", "Reina", 0
};
for (int i = 0; nombres[i]; i++)
{ 
  cout << nombres[i] << endl;
}
Con el cero marcando la ultima cadena no hace falta que pongas el numero de elementos del array (tambien podrias usar sizeof en la condicion del for y sacar el 0 del array: i < sizeof(nombres) / sizeof(nombres[0])).
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #4 (permalink)  
Antiguo 22/03/2009, 21:44
 
Fecha de Ingreso: noviembre-2008
Ubicación: aserri
Mensajes: 27
Antigüedad: 16 años
Puntos: 1
Respuesta: Vector char inicializar con nombres c++

Gracias me ayudaron un monton =0)
  #5 (permalink)  
Antiguo 23/03/2009, 01:00
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Respuesta: Vector char inicializar con nombres c++

De nadas
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:18.