Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Ronkof en 10 Abril 2013, 22:21 pm



Título: Lectura de vectores
Publicado por: Ronkof en 10 Abril 2013, 22:21 pm
Hola amigos soy un novato en la programacion pero con muchas ganas de aprender, estoy dando mis primeros pasitos de bebe y tengo algunas dudas pero me gustaria entender primero este programa que estoy haciendo mal. El programita lee los valores de cada vector y los debe mostrar pero siempre me da el mismo resultado y no elvalor que le asigno a los vectores.

#include <stdlib.h>
#include <stdio.h.>
#include <conio.h>

int vector[5];/*Declaramos el vector*/
int main()
{   
   for(int i=0;i<5;i++)/*Definimos un ciclo para llenar el vector*/
   {
      printf("\n Ingrese el valor de la posicion %d del vector:",i);
      scanf("%d",&vector);/*Leemos el valor de cada posicion del vector*/
   }
   printf("\n Los valores ingresados fueron:");/*Mostramos los valores*/
   for (int i=0;i<5;i++)
   {
      printf("%d\t",&vector);
   }
   getch();
}

No importa el valor que le asigne a cada posicion del vector simpre me da:
Los valores ingresados fueron: 4241952 4241956 4241960 4241964 4241968


Título: Re: Lectura de vectores
Publicado por: Puntoinfinito en 10 Abril 2013, 22:55 pm
Código
  1. #include <stdlib.h>
  2. #include <stdio.h.>
  3. #include <conio.h>
  4.  
  5. int vector[5];/*Declaramos el vector*/
  6. int main()
  7. {
  8. for(int i=0;i<5;i++)/*Definimos un ciclo para llenar el vector*/
  9. {
  10. printf("\n Ingrese el valor de la posicion %d del vector:",i);
  11. scanf("%d",&vector[i]);/*Leemos el valor de cada posicion del vector*/
  12. }
  13. printf("\n Los valores ingresados fueron:");/*Mostramos los valores*/
  14. for (int i=0;i<5;i++)
  15. {
  16. printf("%d\t",&vector[i]);
  17. }
  18. getch();
  19. }

Recuerda de poner GeSHi al codigo siempre, ya que si no fuera porque he mirado tu código te habría comentado que te falta definir la posición de la variable vector, ya que con el BBcode te transforma eso en letra en cursiva.

Error1: Utilizas y la misma variable en el for. En el segundo loop pon ; for (i = 0; ...) {
Error2: Estas utilizando el loop de manera incorrecta (MÉTODO C99):

INCORRECTO
Código
  1. for (int i = 0; i<10; i++)
  2. {
  3.   printf("i is %d\n", i);
  4. }

CORRECTO
Código
  1. int i;
  2. for (i = 0; i<10; i++)
  3. {
  4.   printf("i is %d\n", i);
  5. }
  6.  

Teniendo el error número dos arreglado el código ya te ira bien. En caso de que tengas errores, compila el código de la siguiente manera:

Código:
 gcc -std=c99 foo.c -o foo

Código arreglado: http://codepad.org/t67QiDdx

Saludos



Título: Re: Lectura de vectores
Publicado por: Ronkof en 11 Abril 2013, 00:39 am
Gracias amigo por contestar rapido, pero al final como todo cuando uno empieza era un solo simbolo todo el problema ;D
En el segundo ciclo puse "&vector" y solo era ",vector"   
         for (int i=0;i<5;i++)
   {
      printf("%d\t",vector);
   }

Gracias por tu ayuda :)