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

duda con vector de caracteres

Estas en el tema de duda con vector de caracteres en el foro de C/C++ en Foros del Web. Hola: tengo la siguiente duda: necesito ordenar un vector de caracteres que contiene nombres, definido de la siguiente manera(en C): char nom[3][30] ={Maria, Leandro, Juan}; ...
  #1 (permalink)  
Antiguo 03/10/2009, 12:49
 
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 14 años, 7 meses
Puntos: 0
duda con vector de caracteres

Hola:

tengo la siguiente duda: necesito ordenar un vector de caracteres que contiene nombres, definido de la siguiente manera(en C):

char nom[3][30] ={Maria, Leandro, Juan};

lo estoy pasando como parametro en una funcion y dentro de esta lo tengo que orden junto con otros vectores mas. El tema es que necesito copiar uno de los valores del vector en una variable auxiliar, y esto no me funciona, osea no me imprime nada. Probe hacerlo de varias maneras, con strcpy y asi:

vaux[30] = nom[i][30]; //esto tampoco funciona, hago un printf de vaux y no imprime nada

Alguien me podria decir como hacerlo?

Saludos
  #2 (permalink)  
Antiguo 03/10/2009, 16:32
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 8 meses
Puntos: 13
Respuesta: duda con vector de caracteres

Código c++:
Ver original
  1. char* copia;
  2. for(int j=0;j<30;j++)
  3.  copia[j]=nom[2][j]; //Juan
  4.  
  5. cout<<copia;
este codigo te debe mostrar a Juan
  #3 (permalink)  
Antiguo 03/10/2009, 16:40
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 8 meses
Puntos: 13
Respuesta: duda con vector de caracteres

Código c++:
Ver original
  1. char* copia;
  2. for(int j=0;j<30;j++)
  3.  copia[j]=nom[2][j]; //Juan
  4.  
  5. cout<<copia;
este codigo te debe mostrar a Juan
Cita:
Iniciado por mhax Ver Mensaje
vaux[30] = nom[i][30]; //esto tampoco funciona, hago un printf de vaux y no imprime nada
No te va a mostrar nada o quizas te muestre simbolos raros por en nom[0][30],nom[1][30] no hay nada, en nom[2][30], tampoco.
lo que debes hacer variar sol las columnas (Recuerda que matriz[filas][columnas]).
si quieres que te salga el segundo nombre (posicion 1 en la matriz que diste de ejemplo), debes ir variando las columnas :
nom[1][j];
  #4 (permalink)  
Antiguo 03/10/2009, 18:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: duda con vector de caracteres

Muchas gracias!..me sirvio mucho la respuesta

Saludos!
  #5 (permalink)  
Antiguo 04/10/2009, 23:54
 
Fecha de Ingreso: septiembre-2009
Mensajes: 56
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: duda con vector de caracteres

Otra solución puede ser usando la función strcpy()
Código:
#include <string.h>

...
char nom[3][30] ={Maria, Leandro, Juan};
char *copia;

strcpy(copia, nom[0]);
Así, en "copia" queda almacenado "María".
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 18:45.