Variable index

Iniciado por Ander123, 25 Octubre 2012, 17:38 PM

0 Miembros y 1 Visitante están viendo este tema.

Ander123

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.

naderST

Básicamente funciona así

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

Te lo puedes imaginar así:

i = 0;
while(i<10)
{
printf("%d\n", i);
i++;
}


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

NeoB

La interpretación del for es: "mientras i sea menor que 10, irás incrementando el valor de i, partiendo desde 0".

Ander123

si, pero como funciona la union con el array? eso es lo que no entiendo.

naderST

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.

Ander123

Esque mas o menos lo entendia, pero con esa aclaracion ya me ha quedado del todo claro;)

BatchianoISpyxolo

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:

#include <stdio.h>

void main(){
int lista[10]; // vector de 10 elementos de tipo int
int i,j=1; // variable de control del ciclo for

/* Rellenamos el vector "lista" con los cuadrados de los primeros
10 números naturales */
for ( i=0; i<10; i++ )
lista[i] = j++*j;

/* Mostramos el vector "lista" con los cuadrados de los primeros
10 números naturales */
printf("El vector lista contiene los elementos:");
for ( i=0; i<10; i++ )
printf(" %d", lista[i]);
printf("\n");
}


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.
Puede que desees aprender a programar desde 0: www.espascal.es