Menu
Coddy logo textTech

Loops Aninhados

Parte da seção Fundamentos do Journey de C++ da Coddy — lição 48 de 74.

Um loop aninhado é simplesmente um loop dentro de outro loop. O loop interno completará todas as suas iterações para cada iteração única do loop externo.

Uma boa analogia para isso é um relógio: para cada hora (loop externo), o ponteiro dos minutos (loop interno) deve completar seu ciclo completo de 60 minutos.

Exemplo de um loop aninhado:

for (int x = 0; x < 2; x++) {
	for (int y = 0; y < 2; y++) {
		std::cout << x << " " << y << std::endl;
	}
}
// Isso produzirá a seguinte saída:
// 0 0
// 0 1
// 1 0
// 1 1

O loop externo (x) executa duas vezes e, para cada uma dessas vezes, o loop interno (y) executa duas vezes.

challenge icon

Desafio

Iniciante

Escreva um programa que encontre todos os pares de números que somam n usando números de 1 a n - 1.
O programa deve mostrar todas as combinações possíveis, incluindo pares duplicados em ordem inversa. Por exemplo, tanto "1 5" quanto "5 1" devem ser mostrados, pois são considerados arranjos diferentes do mesmo par. Os números também podem ser pareados consigo mesmos se a sua soma for igual a n.

Por exemplo, se n = 6, a saída deve 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

Folha de consulta

Um loop aninhado é um loop dentro de outro loop. O loop interno completa todas as suas iterações para cada iteração individual do loop externo.

Estrutura básica de um loop aninhado:

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

O loop externo é executado completamente e, para cada iteração do loop externo, o loop interno percorre todas as suas iterações.

Experimente você mesmo

#include <iostream>

int main() {
    int n;
    std::cin >> n;
    // Escreva seu código abaixo

    return 0;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos