SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: kingsizen en Domingo 12 de Abril de 2009, 17:57

Título: cargar arreglo
Publicado por: kingsizen en Domingo 12 de Abril de 2009, 17:57
Holass.. les queria preguntar como tengo ke hacer para cargar en un arreglo nombres y apellidos de 20 personas (por decir un ejemplo).

- tengo que definir un arreglo bidimensional?
-tengo que utilizar punteros?


estoy intentando de la siguente forma, pero me da un error.

aqui en el programa intento ingresar solo el nombre (de 15 caracteres maximo) de las 20 personas mediante un bucle for, y luego que los imprima por pantalla...

Código: C
  1.  
  2. # include <stdio.h>
  3.  
  4. main ()
  5. {
  6.      char nombres[15][20],apellidos[15][20];
  7.      
  8.      int i,j;
  9.      
  10.      for (i=0;i<2;++i)
  11.      scanf ("%s",&nombre[15][i]);
  12.      
  13.      for (i=0;i<2;++i)
  14.      printf ("%s",nombre[15][i]);
  15.      
  16. }  
  17.  

tambien lei algo como arrays de punteros, pero no se como se le cargan los datos...
alguien que me ayude con esto. todavia no se definir estructuras asique deberia encontrar una forma alternativa. muchas gracias!
Título: Re: cargar arreglo
Publicado por: betopin en Domingo 12 de Abril de 2009, 18:51
Par cosas

Si vas a capturar las cadenas, solo debes de asignar el indice de la fila del array bidimensional, no la columna....ya que lo que estarias intentando hacer es meter toda una cadena de caracteres en una unica pocision de memoria...como si fuera un unico caracter

La correcion seria la siguiente

Código: C
  1. # include <stdio.h>
  2. # include <stdlib.h>
  3. int main ()
  4. {
  5.      char nombres[15][20],apellidos[15][20];
  6.      
  7.      int i,j;
  8.      
  9.      for (i=0;i<2;++i)
  10.      scanf ("%s",nombres[i]);
  11.      
  12.      for (i=0;i<2;++i)
  13.      printf ("%sn",nombres[i]);
  14.      system("pause");
  15.      return 0;
  16.      
  17. }
  18.  
 

Es importante que tengas presente que es equivalente
Código: C
  1. nombres[i] a &nombres[i][0]
  2.  

Saludos!!!
Título: Re: cargar arreglo
Publicado por: kingsizen en Martes 14 de Abril de 2009, 21:48
muchas gracias betopin!