Domine los bucles anidados en C#:explicación de For, While y Do-While
Un bucle dentro de otro bucle se llama bucle anidado. Así es como se ve un bucle anidado:
Outer-Loop
{
// body of outer-loop
Inner-Loop
{
// body of inner-loop
}
... ... ...
}
Como puedes ver, el bucle exterior encierra el bucle interno . El bucle interior es parte del bucle exterior y debe comenzar y terminar dentro del cuerpo del bucle exterior.
En cada iteración del bucle exterior, el bucle interior se ejecuta por completo.
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++)
{
// body of outer for loop
for (int j=0; j<5; j++)
{
// body of inner for loop
}
// body of outer for loop
}
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("Outer Loop runs {0} times", outerLoop);
Console.WriteLine("Inner Loop runs {0} times", innerLoop);
}
}
}
Cuando ejecutamos el programa, la salida será:
Outer Loop runs 5 times Inner Loop runs 25 times
En este programa, el bucle exterior se ejecuta 5 veces. Cada vez que se ejecuta el bucle exterior, el bucle interior se ejecuta 5 veces, lo que hace 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 (condition-1)
{
// body of outer while loop
while (condition-2)
{
// body of inner while loop
}
// body of outer while loop
}
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 anidado do- while
Un bucle do- while dentro de otro bucle do- while se llama bucle do- while anidado.
Por ejemplo:
do
{
// body of outer while loop
do
{
// body of inner while loop
} while (condition-2);
// body of outer while loop
} while (condition-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)
Diferentes bucles anidados internos y externos
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 de C#:diferentes bucles internos y externos
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 utilizar diferentes tipos de bucle dentro de un bucle.
Lenguaje C
- Constructores de C++:uso de argumentos predeterminados para la creación de objetos flexibles
- Bucles en C:Instrucciones de bucle For, While, Do While [Ejemplos]
- Matrices multidimensionales de C++
- Domine los bucles anidados en C#:explicación de For, While y Do-While
- C# - Multiproceso
- C# - Bucles
- Funciones de biblioteca estándar de C
- Clases de almacenamiento en C++
- C# - Herencia
- Programación en C++:¿Qué es C++? Aprende conceptos básicos de C++
- Asignación dinámica de memoria en C usando las funciones malloc(), calloc()