Hola a todos,
Resulta que estaba mirando un ejercicio de un tutorial que sigo y me saltó una enorme duda,pego el código:
int numeros [10][5];
int fila,columna;
for(fila=0; fila<10;fila++)
for(columna=0;columna<5;columna++)
printf("%d", &numeros
[fila
][columna
];
Mi dudda es,empieza en el primer for con columna=0,y continua con el segundo for.Ahí va incrementando el valor columna hasta que el valor sea menos de 5,entonces vuelve al primer for y suma uno a la columna pero...¿cuando suma ese 1 a la columna se vuelve a restaurar el segundo for?Porque supuestamente ya se habia llenado...¿entonces cuando la columna llega a 4 y suma uno a fila...se restaura el segundo for para hacer exactamente lo mismo partiendo desde 0 pero con la fila 1?
Espero que me hayan entendido porque creo que no me exprese muy bien
Bueno un saludo y gracias por adelantado.
no entendí bien lo que quieres decir pero si es como funcionan los for es sencillo... analicemos... el primer for son las filas... entonces cuando empieza el primer for le dices al copilador que estará posicionado en la fila 0 de la matriz, (osea no ara nada la primera vez que lea el for mas que sumar 1 a "fila"), entonces pasara al segundo for el cual se encarga de las columnas este lo que ara, es imprimir 5 veces y cuando imprima 5 veces se supone que dará un salto de linea, en el caso de tu for no lo da ya que lo has escrito mal... primero no esta anidado pues no estas usando las corcheas "{" "}" y segundo el primer for al final debe de llevar un salto de linea... el código quedaría así:
int numeros [10][5];
int fila,columna;
for(fila=0; fila<10;fila++)
{
for(columna=0;columna<5;columna++)
{
printf("%d", &numeros[fila][columna];
}
printf("\n");
}
No recuerdo si ha si se da un salto de linea, ya que no suelo usar mucho la funcion printf... pero creo que ya es un poco mas entendible...
espero te ayude suerte...