¿Cuáles son los bucles anidados en C ++ con ejemplos??

¿Cuáles son los bucles anidados en C ++ con ejemplos??
En primer lugar, ¿qué es un bucle?? Un bucle es una construcción que ejecuta declaraciones repetidamente hasta que se cumple una condición especificada. Las declaraciones están en el bloque del bucle. En C ++, si solo hay una declaración que se repite, entonces no habrá bloqueo (aparatos ortopédicos). Existe el bucle do-while, mientras que el bucle, y el for-bucle. Tales construcciones se denominan declaraciones compuestas.

bucle do-while

Un bucle simple de hacer while es:

int m = 0;
hacer

cout << m << ";
++metro;
while (m<5);

Hay una condición inicial que no es realmente parte del bucle. Esta condición inicial es "int m = 0;". El bucle comienza con la palabra reservada, do y termina con un semicolon, después de la condición de tiempo<5)”. The loop means to print out integers, beginning from zero until m is equal to 5. When m is equal to 5, no printing takes place.

Con el bucle do-while, el bloque se ejecuta primero, antes de verificar la condición. La condición se cumple cuando M es igual a 5. Antes de eso, el bloque se ejecuta 5 veces, comenzando de un recuento de 0 a 4. Entonces la salida es:

0 1 2 3 4

mientras

Con el bucle do-while, el bloque se ejecuta cada vez antes de verificar la condición. Por otro lado, con el bucle While, la condición se verifica primero, cada vez, antes de que se ejecute el bloqueo. El siguiente while-loop hace lo que ha hecho el bucle anterior:

int m = 0;
mientras (m<5)

cout << m << ";
++metro;

Hay una condición inicial que no es realmente parte del bucle. Esta condición inicial es "int m = 0;". El bucle comienza con la palabra reservada y termina en la segunda y de cierre para su bloqueo. No hay una palabra reservada "hacer" aquí. La condición de tiempo es "(m<5)”, same as in the above code. When the while-condition is false, that is, m equals 5, the block is not executed, and that is the end of the loop. Note that the loop does not end with a semicolon in this case. The output is the same as in the previous code, that is:

0 1 2 3 4

en bucle

En lo anterior While-Loop, hay cinco componentes principales. La primera es la declaración de inicialización,

int m = 0;

La repetición de la ejecución del bloque de bucle tiene lugar para 5 números, comenzando cuando M es cero. El siguiente componente es la condición de while (m<5). No repetition (no execution of the block) occurs when the while condition results in false. The third component is the loop compound statement itself, which can be imagined as the block. The fourth component is inside the loop compound statement. It is:

cout << m << ";

Imprime el valor de m. Y el quinto componente es la declaración de incremento,

++metro;

Que está en el bloque, al final. Esto causa la repetición de la ejecución del bloque. Presenta el siguiente número para la ejecución repetida del bloque. Sin embargo, la repetición no tendrá lugar si la condición de while da como resultado falso.

Los diferentes cinco componentes se pueden reorganizar en un bucle de la siguiente manera:

para (int m = 0; m<5; ++m)

cout << m << ";

La salida es la misma, yo.mi.

0 1 2 3 4

Hay tres declaraciones entre paréntesis del for-bucle: existe la declaración de inicialización, existe la condición de while, que es una declaración breve, y existe la declaración de incremento. En el bloque, esta vez, solo hay una declaración, que es la declaración central. La declaración de incremento, que estaba en el bloque, se ha llevado a los paréntesis. Se pueden agregar más declaraciones a cualquiera de los bloques anteriores.

El bucle do-while y el bucle while son fundamentalmente los mismos que el for-loop. El bucle de for-loop coloca el bucle en forma clásica y simplificada. Cualquier bucle necesita un estado de inicialización, una condición de tiempo y un código para causar la próxima repetición, que no ocurrirá cuando la condición de while resulte en falso.

Al anidar un bucle, estas tres características deben tenerse en cuenta. Este artículo explica diferentes formas de anidar bucles en C++. Los formularios de bucle básicos se han explicado arriba.

Contenido del artículo

  • Anidación de bucles
  • Anidando mientras
  • Anidación de bucle
  • Conclusión

Anidación de bucles

Del siguiente programa, se muestran una tabla de 5 filas y 4 columnas de caracteres. En C ++, la secuencia de letras mayúsculas o la secuencia de letras minúsculas se puede comparar a medida que se comparan cada números enteros, como se ilustra en el siguiente bucle anidado:

#incluir
usando el espacio de nombres STD;
int main ()

int i = 0;
char j = 'a';
hacer

hacer

cout << j << ";
j ++;
while (j < 'E');
j = 'a';
cout << endl;
i ++;
mientras yo < 5);
regresar 0;

La salida es:

A B C D
A B C D
A B C D
A B C D
A B C D

La primera línea del programa incluye la biblioteca iostream en el programa. Esta biblioteca es necesaria para imprimir texto. La siguiente línea es una declaración, asegurando que cualquier nombre utilizado sea desde el espacio de nombres estándar a menos que se indique lo contrario.

Es útil pensar en un bucle anidado en dos dimensiones. Ambos bucles actúan en cada celda. El bucle interno es responsable de las columnas, mientras que el bucle exterior es responsable de las filas.

Va así: mientras el bucle exterior apunta a la primera fila, el bucle interno imprime un valor de celda, por columna, para la primera fila. Mientras que el bucle exterior apunta a la segunda fila, el bucle interno imprime un valor de celda, por columna, para la segunda fila. Esto continúa hasta que se imprima la última fila.

En el programa anterior, el estado de inicialización para el bucle exterior es,

int i = 0;

El estado de inicialización para el bucle interno es,

char j = 'a';

Observe que todo el bucle interno se ha colocado justo después de la abrazadera de apertura del bucle exterior. Solo una declaración imprime cada personaje, y esta declaración debe estar en el bucle interno. Esto se debe a que los bucles acceden a una celda por iteración combinada. La declaración es:

cout << j << ";

El alfabeto en mayúsculas se puede manejar como números enteros (enteros positivos).

La condición de while para el bucle interno es,

mientras (J < 'E')

Al final del núcleo de bucle interno, pero no al final del código de bucle interno. Esto significa la quinta letra 'e' y más allá no debe mostrarse. Después de que el bucle interno ha mostrado 4 elementos seguidos, el estado inicial se restablece o se reinicializa con la declaración,

j = 'a';

que no está precedido por la palabra reservada, char. Antes de la palabra reservada, Char declarará una nueva variable, que no será parte de la iteración bidimensional. La declaración después de eso, yo.mi.

cout << endl;

Fuerza el cursor de la pantalla a la siguiente línea para que la siguiente fila se pueda imprimir en la siguiente línea.

Después de esta declaración, comienza el código esencial para el bucle exterior. La condición de while para el bucle exterior es,

(i < 5)

lo que significa que las filas se cuentan como 0, 1, 2, 3, 4, todavía cinco números.

El código para el bucle interno, para causar la impresión del siguiente carácter (repetición de columna) en la misma fila, es:

j ++;

Cuando la condición de while para el bucle interno da como resultado falso, no se imprime más carácter. El código para el bucle externo para causar la impresión de la siguiente fila (repetición de línea) es:

i ++;

Cuando la condición de while para el bucle exterior da como resultado falso, no se imprime más fila.

Y así, la variable, se ha utilizado para el bucle externo, las filas; y la variable, J se ha utilizado para el bucle interno, los caracteres de línea.

Anidando mientras

El siguiente programa hace lo mismo que el programa anterior:

#incluir
usando el espacio de nombres STD;
int main ()

int i = 0;
char j = 'a';
mientras yo < 5)

mientras (J < 'E')

cout << j << ";
j ++;
;
j = 'a';
cout << endl;
i ++;
;
regresar 0;

La salida es:

A B C D
A B C D
A B C D
A B C D
A B C D

El algoritmo de este código es casi el mismo que el del anterior. La principal diferencia es que, aquí, para cada iteración para el bucle interno o externo, la condición mientras se verifica antes de que se ejecute el cuerpo del bucle. En el código anterior, el cuerpo se ejecuta antes de la condición mientras se verifica.

Anidación de bucle

El siguiente programa hace lo mismo que el programa anterior:

#incluir
usando el espacio de nombres STD;
int main ()

para (int i = 0; i < 5; i++)

para (char j = 'a'; j < 'E'; j++)

cout << j << ";

cout << endl;

regresar 0;

La salida es:

A B C D
A B C D
A B C D
A B C D
A B C D

Hay ciertas cosas a tener en cuenta aquí: el bucle for-bucle anidado es más corto que sus otras contrapartes. La declaración de incremento para el bucle interno se ha eliminado de su cuerpo y se ha llevado a los paréntesis para su bucle for-bucle. La declaración de incremento para el bucle exterior se ha eliminado de su cuerpo y se ha llevado a los paréntesis para su bucle for-bucle. La reinicialización (restablecimiento) de la variable de bucle interna, J ya no se necesita como una declaración para el bucle externo; Porque la declaración de inicialización para el bucle interno se reinicializa para cada iteración del bucle exterior.

No olvide que el bucle for-loop es una forma clásica y simplificada de los otros dos bucles.

Conclusión

Un bucle tiene tres características importantes: un estado de inicialización, la condición de while y el impulso para la próxima repetición del cuerpo del bucle. Cuando un bucle se anidada en otro, estas tres características deben considerarse para cada uno de los bucles correspondientes. Todos los bucles anidados son bucles de anidación de un nivel. Es útil pensar en una anidación de un nivel, de bucles, como un diseño bidimensional. El código del bucle anidado es lo que accede a cada celda para el diseño 2D. Este tutorial le ha dado al lector los conceptos básicos de la anidación de bucle.