elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
11 Octubre 2008, 18:07  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++
| | |-+  Vector y cadenas?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Vector y cadenas?  (Leído 268 veces)
<housedir>

Desconectado Desconectado

Mensajes: 123



Ver Perfil
Vector y cadenas?
« en: 14 Mayo 2008, 21:07 »

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:
Código:
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  ;D
En línea

Titulo: Padre nuestro
Padre Nuestro que estás en www.cielo.com
Santificado 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 Desconectado

Mensajes: 33



Ver Perfil
Re: Vector y cadenas?
« Respuesta #1 en: 14 Mayo 2008, 21:51 »

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
Código:
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
Código:
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.
Código:
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
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1.709


No es posible conseguir nada sin arriesgarse algo


Ver Perfil
Re: Vector y cadenas?
« Respuesta #2 en: 14 Mayo 2008, 22:08 »

Hazlo con string, que es para cadenas, lo que tú quieres. Te pongo un código funcional:
Código
#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 Desconectado

Mensajes: 102


Yeah, my pen is a Pistola


Ver Perfil
Re: Vector y cadenas?
« Respuesta #3 en: 14 Mayo 2008, 22:10 »

tambien podria ser esto¡¡
Código
  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 Desconectado

Mensajes: 350



Ver Perfil
Re: Vector y cadenas?
« Respuesta #4 en: 14 Mayo 2008, 22:12 »

Código
char *matriz[] = { "palabra 1",
                          "palabra 2",
                          "palabra 3"
                        };
 

Código
char matriz[20][5];
 
for (i = 0; i < 5; i++)
  scanf("%s", matriz[i]);
 

Código
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 Desconectado

Mensajes: 123



Ver Perfil
Re: Vector y cadenas?
« Respuesta #5 en: 14 Mayo 2008, 22:15 »

ok muchas gracias a todos por sus respuestas, an sido de gran ayuda  ;D
En línea

Titulo: Padre nuestro
Padre Nuestro que estás en www.cielo.com
Santificado 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...
Freeze.

Desconectado Desconectado

Mensajes: 2.455

FireSoft


Ver Perfil WWW
Re: Vector y cadenas?
« Respuesta #6 en: 14 Mayo 2008, 22:58 »

Es la primera persona que veo que ayudan tanto y con tantos ejemplos :xD
En línea

Un nuevo CMS, pruebalo:


SanMagic

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Vector y cadenas?
« Respuesta #7 en: 14 Mayo 2008, 23:30 »

Hazlo con string, que es para cadenas, lo que tú quieres. Te pongo un código funcional:
Código
#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  ;D ahora... estem... q hago si quiero usar el "printf" en lugar del "cout"??? esq intente con esto:

Código:
#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
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1.709


No es posible conseguir nada sin arriesgarse algo


Ver Perfil
Re: Vector y cadenas?
« Respuesta #8 en: 14 Mayo 2008, 23:52 »

Tienes que "transformar" el tipo string al de una cadena estándar de C para usarlo en printf. Para ello usa c_str():
Código
#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 Desconectado

Mensajes: 20


Ver Perfil
Re: Vector y cadenas?
« Respuesta #9 en: 15 Mayo 2008, 00:10 »

 ghastlyX... eres un genio!!  ;D jejeje gracias por la ayuda!!
En línea
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats