El valor de una variable no se restablece al reiniciar un bloque "while"
-
jueves, 01 de diciembre de 2011 21:21
Buenas noches, estoy desarrollando un programa en C++ cuyo código es el siguiente:
Atendiendo al código, el bloque while comienza a imprimir la variable aux1 con valor igual a cero pero ascendiente en las siguientes repeticiones de while pero, cuando el bloque while se reinicia nuevamente tras pasar a otra fase (repetición) del bloque for, la variable aux1 mantiene el mismo valor que en la última fase de la anterior sesión del while cuando dicha variable debería de haber vuelto a cero.for (int c = 0; c < numero_filas; c++) { int x = 0; int aux1 = 0; while (x < numero_filas) // Comienza con "aux1=0" { cout << aux1; while (aux1 <= c) { aux1++; } x++; } cout << endl; }
Un cordial saludo.
Atentamente, Ángel Manuel.
Ángel Manuel
Todas las respuestas
-
lunes, 05 de diciembre de 2011 2:39Moderador
El comportamiento que usted describe es el correcto. ¿Por qué? Porque la variable aux1 es destruida en cada iteración del for() exterior y reconstruida nuevamente con un valor inicial de cero. ¿No quiere que esta destrucción/construcción suceda? Simple: Declare aux1 fuera del for().
Jose R. MCP- Marcado como respuesta Ángel Manuel García Carmona lunes, 05 de diciembre de 2011 10:38
-
lunes, 05 de diciembre de 2011 10:41
Buenos días, estaba todo correcto pues el problema se daba en que no salía la salida que yo esperaba pues tenía todo "mal programado" a consecuencia de este bloque, esperando yo que en las siguientes filas se imprimiese de cero a uno y así consecutivamente y no, imprimiéndose 0 hasta lo que salía al acabar el while en función de c, procedente del for.y así:
while (aux1 <= c) { aux1++; }
Gracias por su ayuda.Saludos.
Ángel Manuel
- Editado Ángel Manuel García Carmona lunes, 05 de diciembre de 2011 10:45
- Marcado como respuesta Ángel Manuel García Carmona lunes, 05 de diciembre de 2011 10:45

