• Viernes 8 de Noviembre de 2024, 18:43

Autor Tema:  cargar arreglo  (Leído 1545 veces)

kingsizen

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
cargar arreglo
« en: Domingo 12 de Abril de 2009, 17:57 »
0
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!

betopin

  • Miembro activo
  • **
  • Mensajes: 93
  • Nacionalidad: co
    • Ver Perfil
    • http://www.programasenc.blogspot.com
Re: cargar arreglo
« Respuesta #1 en: Domingo 12 de Abril de 2009, 18:51 »
0
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!!!

kingsizen

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
Re: cargar arreglo
« Respuesta #2 en: Martes 14 de Abril de 2009, 21:48 »
0
muchas gracias betopin!