Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DickGumshoe en 15 Enero 2012, 00:43 am



Título: Array que lea ciertos números
Publicado por: DickGumshoe en 15 Enero 2012, 00:43 am
Hola.

Estoy haciendo un programa en el que cada elemento de un array lea los numeros pares.

Por ejemplo:

v[0] sería 2
v[1] sería 4
v[2] sería 6

Así hasta v[300].

Tengo hecho esto:

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4.  
  5. int main(){
  6.  
  7.    int i;
  8.    int v[300];
  9.  
  10.    for(i=0;i<300;i++)
  11.  
  12.    i=2*i+2;
  13.    printf("%d",v[i]);
  14.  
  15.    system("pause");
  16.    return 0;
  17. }
  18.  

Aunque compila, da el resultado 1420; y lo que quiero que salga es 2 4 6 8...

Muchas gracias.

Saludos.


Título: Re: Array que lea ciertos números
Publicado por: Xandrete en 15 Enero 2012, 01:08 am
 :huh:

Me baso en tu ejemplo, porque no has expresado el enunciado muy claramente.

A ver, en tu código no estas haciendo nada con el bucle, porque no hay nada dentro del mismo. Ni siquiera has puesto ; después. Por eso te da 1420 (como te podría salir cualquier otra cosa).

Por otro lado, no entiendo por qué quieres hacerlo con un array, si se puede hacer perfectamente sin uno:

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #define NMAX 299
  4.  
  5. int main() {
  6. int x;
  7. for (x = 2; x <= 2*NMAX+2; x += 2) printf("%d\n",x);
  8. return 0;
  9. }

Y si aún así lo quieres hacer con un array:

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int main() {
  5. int vector[300];
  6. int i;
  7. vector[0] = 2;
  8. for (i = 1; i < 300; ++i) vector[i] = vector[i-1] + 2;
  9. for (i = 0; i < 300; ++i) printf("%d\n",vector[i]);
  10. return 0;
  11. }

Pero vamos, en un ejercicio sencillaco. Asienta bien las bases, porque no deberías tener ningún problema con algo así.

¡Saludos!


Título: Re: Array que lea ciertos números
Publicado por: DickGumshoe en 15 Enero 2012, 01:18 am
Muchísimas gracias.

Lo que pretendía era hacerlo de la segunda forma que lo has hecho. Sabía hacerlo sin array, pero era para ensayar (es mi segundo ejercicio usándolos).

Según había visto por internet, era algo parecido al código que puse en el primer mensaje, pero al ver que no funcionaba, pues me entró curiosidad, y empecé a editarlo como creía que era. Pero a pesar de eso, no me salió.

Gracias.

Saludos.