Menu
Coddy logo textTech

Bucles anidados

Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 48 de 74.

Un bucle anidado es simplemente un bucle dentro de otro bucle. El bucle interno completará todas sus iteraciones por cada iteración individual del bucle externo.

Una buena analogía para esto es un reloj: por cada hora (bucle externo), el minutero (bucle interno) debe completar su ciclo completo de 60 minutos.

Ejemplo de un bucle anidado:

for (int x = 0; x < 2; x++) {
	for (int y = 0; y < 2; y++) {
		std::cout << x << " " << y << std::endl;
	}
}
// Esto mostrará:
// 0 0
// 0 1
// 1 0
// 1 1

El bucle externo (x) se ejecuta dos veces, y por cada una de esas veces, el bucle interno (y) se ejecuta dos veces.

challenge icon

Desafío

Principiante

Escribe un programa que encuentre todos los pares de números que sumen n utilizando números del 1 al n - 1.
El programa debe mostrar todas las combinaciones posibles, incluyendo pares duplicados en orden inverso. Por ejemplo, se deben mostrar tanto "1 5" como "5 1", ya que se consideran disposiciones diferentes del mismo par. Los números también pueden emparejarse consigo mismos si su suma es igual a n.

Por ejemplo, si n = 6, la salida debería ser:

1 5
2 4
3 3
4 2
5 1

Porque:

1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
4 + 2 = 6
5 + 1 = 6

Hoja de referencia

Un bucle anidado es un bucle dentro de otro bucle. El bucle interno completa todas sus iteraciones por cada iteración individual del bucle externo.

Estructura básica de un bucle anidado:

for (int x = 0; x < 2; x++) {
	for (int y = 0; y < 2; y++) {
		std::cout << x << " " << y << std::endl;
	}
}
// Salida:
// 0 0
// 0 1
// 1 0
// 1 1

El bucle externo se ejecuta completamente y, por cada iteración del bucle externo, el bucle interno recorre todas sus iteraciones.

Pruébalo tú mismo

#include <iostream>

int main() {
    int n;
    std::cin >> n;
    // Escribe tu código a continuación

    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos