2
respostas

Dúvida - forma diferente de fazer o desenho de asteriscos

Não entendi a lógica do seguinte laço, ou seja, contadorColuna <= contadorLinha. Apenas entendi a outra forma de imprimir os asteriscos. Gostaria de entender melhor a razão do contadorColuna ser menor ou igual ao contadorLinha. Obrigado.

static void Main(string[] args) { Console.WriteLine("Projeto 13");

// *
// **
// ***
// ****
// *****
// ******
// *******
// ********
// *********
// **********


// Uma forma diferente de fazer o desenho de asteríscos
for(int contadorLinha = 0; contadorLinha < 10; contadorLinha++)
{
    for(int contadorColuna = 0; contadorColuna <= contadorLinha; contadorColuna++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}
Console.ReadLine();

}

2 respostas

Na primeira iteração, contadorLinha = 0 e contadorColuna = 0. Como 0 é igual a 0, o laço rodará uma vez e imprimirá apenas um asterisco. Logo em seguida, contadorLinha = 1, então o laço rodará 2 vezes (com contadorColuna = 0 e contadorColuna = 1). Isso se repetirá para todas as iterações, aumentando um asterisco a cada nova linha.

A lógica é bem simples: Se estamos na linha 1, imprimiremos 1 asterisco (ou coluna). Por isso o número de colunas (que representam os asteriscos que serão impressos) deve sempre ser menor ou igual ao número da linha em que estamos, para que seja formado o desenho desejado.

Obrigado Matheus, vou estudar este pondo com mais calma. Valeu pela dica!