Páginas: [1]
|
 |
|
Autor
|
Tema: Vector y cadenas? (Leído 241 veces)
|
<housedir>
Desconectado
Mensajes: 123
|
hola a todos pss una pregunta sencilla creo yo  : como hago para llenar un vector con carapteres osea llenar un vector de 10 espacios y q en cada uno de los espacios aiga un nombre: char v[10]="JOHN DOE""CARLOS ANDRES""DANIEL PEREZ""MARIO PINTO""LEO CONTRERAS""MANUEL RODRIGUES""ANGEL IDALGO""DANILO ANDERZON""JOSE GUTIERREZ""ANDREZ PEREZ"; int k; for(k=0;k<10;k++){ printf("%c",v[k]);
pense q seria algo asi pero no va si alguien me puede ayudar se lo agradeceria 
|
|
|
|
|
En línea
|
Titulo: Padre nuestro Padre Nuestro que estás en www.cielo.comSantificado sea tu server, venga a nosotros tu shareware Hágase tu downloading así en el http como en el ftp Danos hoy nuestro surfing de cada día, Perdona nuestros bugs como nosotros también perdonamos a Microsoft. No nos dejes caer en una Mac y líbranos de todo worm. Enter...
|
|
|
sangano
Desconectado
Mensajes: 33
|
Hola, primero como recomendacion repasa sobre los tipo de datos basicos. Lo que sale en tu ejemplo esta mal, por que, (explicacion bien livianita.)un char almacena un caracter. Ahora como tu defines char v[10] estas diciendo que quieres un arreglo de 10 caracteres y lo que podrias guardar en este arreglo sin problemas seria "JHON DOE". Lo que entiendo de lo que quieres hacer tendrias que crear una matriz de caracteres, algo asi char v[10][50]; y llenarlo con el for pero esta vez anidado para la fila de 10 indices y las columnas de 50 indices. un pequeño y simple ejemplo. int main() { int fila, columna;
char matriz[5][1];
for(fila =0; fila < 5; fila++) { for(columna = 0; columna < 1; columna++) { matriz[fila][columna] = 65 + fila; // para lo que tu quieres, aqui irian los nombres } } return 0; }
Esto tambien lo podrias hacer con memoria dinamica, eso espero te sirva.
|
|
|
|
|
En línea
|
|
|
|
|
ghastlyX
|
Hazlo con string, que es para cadenas, lo que tú quieres. Te pongo un código funcional: #include <iostream> #include <string> using namespace std; int main() { string v[10] = {"JOHN DOE", "CARLOS ANDRES", "DANIEL PEREZ", "MARIO PINTO", "LEO CONTRERAS", "MANUEL RODRIGUES", "ANGEL IDALGO", "DANILO ANDERZON", "JOSE GUTIERREZ", "ANDREZ PEREZ"}; for(int k = 0; k < 10; k++) cout << v[k] << endl; } Un saludo de ghastlyX 
|
|
|
|
|
En línea
|
|
|
|
BETA_V
Desconectado
Mensajes: 100
Yeah, my pen is a Pistola
|
tambien podria ser esto¡¡ char cad[6][10]={"alberto","Jose","john","Doe","Ramon","franco"}; int i=0; for(;i++<6;i) printf("%s\n",cad[i]);
|
|
|
|
« Última modificación: 14 Mayo 2008, 22:16 por BETA_V »
|
En línea
|
|
|
|
Flakito81
Desconectado
Mensajes: 320
|
char *matriz[] = { "palabra 1", "palabra 2", "palabra 3" }; char matriz[20][5]; for (i = 0; i < 5; i++) scanf("%s", matriz[i]); char *matriz[5]; char aux[20]; for (i = 0; i < 5; i++) { scanf("%s", aux); matriz[i] = (char *) strdup (aux); } Saludos!
|
|
|
|
« Última modificación: 14 Mayo 2008, 22:52 por Flakito81 »
|
En línea
|
|
|
|
<housedir>
Desconectado
Mensajes: 123
|
ok muchas gracias a todos por sus respuestas, an sido de gran ayuda 
|
|
|
|
|
En línea
|
Titulo: Padre nuestro Padre Nuestro que estás en www.cielo.comSantificado sea tu server, venga a nosotros tu shareware Hágase tu downloading así en el http como en el ftp Danos hoy nuestro surfing de cada día, Perdona nuestros bugs como nosotros también perdonamos a Microsoft. No nos dejes caer en una Mac y líbranos de todo worm. Enter...
|
|
|
|
|
SanMagic
Desconectado
Mensajes: 20
|
Hazlo con string, que es para cadenas, lo que tú quieres. Te pongo un código funcional: #include <iostream> #include <string> using namespace std; int main() { string v[10] = {"JOHN DOE", "CARLOS ANDRES", "DANIEL PEREZ", "MARIO PINTO", "LEO CONTRERAS", "MANUEL RODRIGUES", "ANGEL IDALGO", "DANILO ANDERZON", "JOSE GUTIERREZ", "ANDREZ PEREZ"}; for(int k = 0; k < 10; k++) cout << v[k] << endl; } Un saludo de ghastlyX  q gran ejemplo.... esto me ayuda mucho en algo q iba apreguntar  ahora... estem... q hago si quiero usar el "printf" en lugar del "cout"??? esq intente con esto: #include <string> #include <stdio.h>
using namespace std;
int main(){ string v[10] = {"JOHN DOE", "CARLOS ANDRES", "DANIEL PEREZ", "MARIO PINTO", "LEO CONTRERAS", "MANUEL RODRIGUES", "ANGEL IDALGO", "DANILO ANDERZON", "JOSE GUTIERREZ", "ANDREZ PEREZ"}; int k; for(k = 0; k < 10; k++) { printf("%s\n", v[k]); } }
al compilarlo me sale un "Warning" (10 C:\cadenas.cpp [Warning] cannot pass objects of non-POD type `struct std::string' through `...'; call will abort at runtime) y al ejecutarlo no imprime nada... alguna idea??
|
|
|
|
|
En línea
|
|
|
|
|
ghastlyX
|
Tienes que "transformar" el tipo string al de una cadena estándar de C para usarlo en printf. Para ello usa c_str(): #include <iostream> #include <string> using namespace std; int main() { string v[10] = {"JOHN DOE", "CARLOS ANDRES", "DANIEL PEREZ", "MARIO PINTO", "LEO CONTRERAS", "MANUEL RODRIGUES", "ANGEL IDALGO", "DANILO ANDERZON", "JOSE GUTIERREZ", "ANDREZ PEREZ"}; for(int k = 0; k < 10; k++) printf("%s\n", v[k].c_str()); } Un saludo de ghastlyX 
|
|
|
|
|
En línea
|
|
|
|
SanMagic
Desconectado
Mensajes: 20
|
ghastlyX... eres un genio!!  jejeje gracias por la ayuda!!
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: [1]
|
|
|
|