Loop Aninhado
Parte da seção Fundamentos do Journey de C# da Coddy — lição 46 de 69.
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++) {
Console.WriteLine(x + " " + y);
}
}
// Isso resultará em:
// 0 0
// 0 1
// 1 0
// 1 1O loop externo (x) executa duas vezes, e para cada uma dessas vezes, o loop interno (y) também executa duas vezes — resultando em um total de 4 linhas de saída.
No exemplo acima, Console.WriteLine() imprime cada resultado em uma nova linha.
Se você quiser imprimir sem mudar para uma nova linha, use Console.Write() em vez disso:
Console.Write("Hello ");
Console.Write("World");
// Saída: Hello WorldAmbos os métodos são úteis — Console.WriteLine() adiciona uma nova linha ao final, enquanto Console.Write() mantém o cursor na mesma linha.
Desafio
InicianteEscreva um programa que imprima um retângulo de asteriscos (*) com uma largura e altura fornecidas.
Entrada: Dois inteiros: width e height
Por exemplo:
Se width = 5 e height = 3, a saída deve ser:
*****
*****
*****Se width = 4 e height = 6, a saída deve ser:
****
****
****
****
****
****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 única do loop externo.
Exemplo de loops aninhados:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
Console.WriteLine(x + " " + y);
}
}
// Saída:
// 0 0
// 0 1
// 1 0
// 1 1O loop externo executa duas vezes e, para cada iteração, o loop interno executa duas vezes completamente.
Imprimindo a saída:
Console.WriteLine() imprime um valor e move para uma nova linha.
Console.Write() imprime um valor sem mover para uma nova linha, então a próxima saída continua na mesma linha.
Experimente você mesmo
using System;
public class Program {
public static void Main(string[] args) {
int width = int.Parse(Console.ReadLine());
int height = int.Parse(Console.ReadLine());
// Escreva seu código abaixo
}
}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
4Operadores Parte 1
Operadores AritméticosOperador de MóduloIncremento/DecrementoPós-incremento/DecrementoAtalhos Aritméticos7IO Básico
Saída BásicaInterpolação de StringsLeitura de EntradaParseRevisão - Até 120Revisão - True ou False5Operadores Parte 2
Operadores de ComparaçãoOperadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 33Variáveis Parte 2
VarConstantesConvenções de NomenclaturaRecapitulação - Inicializar VariáveisType Casting6Tomada de Decisão
Estrutura IfIf - ElseEstrutura SwitchOperador TernárioRevisão - If ElseIf - Else Aninhado