Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Ander123 en 25 Octubre 2012, 17:38 pm



Título: Variable index
Publicado por: Ander123 en 25 Octubre 2012, 17:38 pm
Hola, estoy aqui debatiendo con la variable i, y no acabo de entenderla bien, cuando usas el ciclo for, se supone que primero, supongamos que es un programa que escribe 10 numeros del 1 al 10, la inicias en 0, luego menos que 10, y luego haces un incremento. Esa variable entra dentro de la variable, pongamos numero y esa variable hace todo lo que le hemos dicho a i. Pero no entiendo la union. No me cuadra.Gracias.


Título: Re: Variable index
Publicado por: naderST en 25 Octubre 2012, 17:44 pm
Básicamente funciona así

for(inicialización de la variable; codición del ciclo; incremento de la variable)

Te lo puedes imaginar así:

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

OJO no es 100% equivalente, pero es un ejemplo para que te guíes


Título: Re: Variable index
Publicado por: NeoB en 25 Octubre 2012, 17:45 pm
La interpretación del for es: "mientras i sea menor que 10, irás incrementando el valor de i, partiendo desde 0".


Título: Re: Variable index
Publicado por: Ander123 en 25 Octubre 2012, 17:54 pm
si, pero como funciona la union con el array? eso es lo que no entiendo.


Título: Re: Variable index
Publicado por: naderST en 25 Octubre 2012, 18:22 pm
A qué te refieres con la unión? array? Si es así eso lo que quiere decir es que vas a acceder a la posición i-esima del arreglo.


Título: Re: Variable index
Publicado por: Ander123 en 25 Octubre 2012, 19:04 pm
Esque mas o menos lo entendia, pero con esa aclaracion ya me ha quedado del todo claro;)


Título: Re: Variable index
Publicado por: BatchianoISpyxolo en 26 Octubre 2012, 00:06 am
A ver, la variable de control de un bucle es en sí misma una variable como cualquier otra que se ve alterada conforme un ciclo pueda tener inicio y fin.

Gracias a los ciclos podemos hacer que una variable, por ejemplo la de control, tome un rango de valores: a0, a1, aN

Por ello, podemos hacer un recorrido de una estructura tipo array a través del método de acceso índex o índice. Ya que cada elemento de esa estructura ocupa la posición 0..M-1, 0..N-1, 0..O-1, etc dependiendo de las dimensiones del array. Aunque para hacer arrays N-dimensionales
generalmente se usan punteros.

Ejemplo:

Código
  1. #include <stdio.h>
  2.  
  3. void main(){
  4. int lista[10]; // vector de 10 elementos de tipo int
  5. int i,j=1; // variable de control del ciclo for
  6.  
  7. /* Rellenamos el vector "lista" con los cuadrados de los primeros
  8. 10 números naturales */
  9. for ( i=0; i<10; i++ )
  10. lista[i] = j++*j;
  11.  
  12. /* Mostramos el vector "lista" con los cuadrados de los primeros
  13. 10 números naturales */
  14. printf("El vector lista contiene los elementos:");
  15. for ( i=0; i<10; i++ )
  16. printf(" %d", lista[i]);
  17. printf("\n");
  18. }
  19.  

Ahí tienes un ejemplo de ciclo con array y qué papel juega la variable de control al utilizarla como índice del array.

De todas formas, C, C++, etc. no son buenos lenguajes para aprender a programar.