Domine bucles anidados en C#: For, While y Do-While explicados
Un bucle dentro de otro bucle se llama bucle anidado. Así es como se ve un bucle anidado:
Bucle-Externo { // cuerpo del bucle-externo Bucle-Interno { // cuerpo del bucle-interno } ... ... ... }
Como puede ver, el bucle externo encierra al bucle interno. El bucle interno es parte del bucle externo y debe comenzar y terminar dentro del cuerpo del bucle externo.
En cada iteración del bucle externo, el bucle interno se ejecuta completamente.
Bucle for anidado
Un bucle for dentro de otro bucle for se llama bucle for anidado.
Por ejemplo:
for (int i=0; i<5; i++) { // cuerpo del bucle for externo for (int j=0; j<5; j++) { // cuerpo del bucle for interno } // cuerpo del bucle for externo }
Ejemplo 1: Bucle for anidado
using System; namespace Loop { class NestedForLoop { public static void Main(string[] args) { int outerLoop = 0, innerLoop = 0; for (int i=1; i<=5; i++) { outerLoop ++; for (int j=1; j<=5; j++) { innerLoop++; } } Console.WriteLine("Bucle externo se ejecuta {0} veces", outerLoop); Console.WriteLine("Bucle interno se ejecuta {0} veces", innerLoop); } } }
Cuando ejecutamos el programa, la salida será:
Bucle externo se ejecuta 5 veces Bucle interno se ejecuta 25 veces
En este programa, el bucle externo se ejecuta 5 veces. Cada vez que el bucle externo se ejecuta, el bucle interno se ejecuta 5 veces, haciendo que se ejecute 25 veces en total.
Ejemplo 2: Bucle for anidado para imprimir patrón
using System; namespace Loop { class NestedForLoop { public static void Main(string[] args) { for (int i=1; i<=5; i++) { for (int j=1; j<=i; j++) { Console.Write(j + " "); } Console.WriteLine(); } } } }
Cuando ejecutamos el programa, la salida será:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Bucle while anidado
Un bucle while dentro de otro bucle while se llama bucle while anidado.
Por ejemplo:
while (condición-1) { // cuerpo del bucle while externo while (condición-2) { // cuerpo del bucle while interno } // cuerpo del bucle while externo }
Ejemplo 3: Bucle while anidado
using System; namespace Loop { class NestedWhileLoop { public static void Main(string[] args) { int i=0; while (i<2) { int j=0; while (j<2) { Console.Write("({0},{1}) ", i,j); j++; } i++; Console.WriteLine(); } } } }
Cuando ejecutamos el programa, la salida será:
(0,0) (0,1) (1,0) (1,1)
Bucle do-while anidado
Un bucle do-while dentro de otro bucle do-while se llama bucle do-while anidado.
Por ejemplo:
do { // cuerpo del bucle while externo do { // cuerpo del bucle while interno } while (condición-2); // cuerpo del bucle while externo } while (condición-1);
Ejemplo 4: Bucle do-while anidado
using System; namespace Loop { class NestedWhileLoop { public static void Main(string[] args) { int i=0; do { int j=0; do { Console.Write("({0},{1}) ", i,j); j++; } while (j<2); i++; Console.WriteLine(); } while (i<2); } } }
Cuando ejecutamos el programa, la salida será:
(0,0) (0,1) (1,0) (1,1)
Bucles internos y externos anidados diferentes
No es obligatorio anidar el mismo tipo de bucle. Podemos poner un bucle for dentro de un bucle while o un bucle do-while dentro de un bucle for.
Ejemplo 5: Bucle anidado en C#: Bucles internos y externos diferentes
using System; namespace Loop { class NestedLoop { public static void Main(string[] args) { int i=1; while (i<=5) { for (int j=1; j<=i; j++) { Console.Write(i + " "); } Console.WriteLine(); i++; } } } }
Cuando ejecutamos el programa, la salida será:
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
En el programa anterior, un bucle for se coloca dentro de un bucle while. Podemos usar diferentes tipos de bucles dentro de un bucle.
Lenguaje C
- Dominando arrays multidimensionales en C: 2D y 3D explicados
- Operador ternario en C#: Guía concisa para expresiones condicionales
- Entendiendo los Constructores en C++: Por Defecto, Parametrizados y de Copia Explicados
- Estructuras de Datos en C++: Construyendo Programas Eficientes con Arrays, Structs y Más
- Fundamentos de C#: Entrada y salida esenciales
- Dominando la precedencia y asociatividad de operadores en C#: Guía práctica
- Dominando la sentencia switch en C#: Sintaxis, ejemplos y mejores prácticas
- Fundamentos de C#: Sintaxis Básica y Conceptos de POO
- Dominando la palabra clave this en C#
- C vs C++: Diferencias clave y cuándo elegir cada uno
- Guía completa de operadores en C: Tipos, funciones y ejemplos