Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Estou a obter outro resultado, tive de alter a minha lógica

Se utilizar a lógica correcta apresentada no exercicio estou a obter este resultado:

Lógica:

for(int countLine = 0; countLine < 10; countLine++) { for(int countColunm = 0; countColunm < 10; countColunm++) { Console.Write(countColunm + 1); if(countColunm > countLine) break; } Console.WriteLine(); } Console.ReadKey();

Resultado: 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910 12345678910

Após alterar a minha lógica para "countColunm >= countLine" tive o resultado esperado:

Lógica: for(int countLine = 0; countLine < 10; countLine++) { for(int countColunm = 0; countColunm < 10; countColunm++) { Console.Write(countColunm + 1); if(countColunm > countLine) break; } Console.WriteLine(); } Console.ReadKey();

Resultado: 1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910

Tem alguma coisa que tó fazendo errado ou precisamos atualização a resposta correcta do Quiz...?

No aguardo.

1abr.

CC

2 respostas

Olá Catinfor, tudo bem?

Acredito que no momento de transcrever o código acabou perdendo algum detalhe, veja:

class Program
    {
        static void Main(string[] args)
        {
            for (int countLine = 0; countLine < 10; countLine++) 
            { 
                for (int countColunm = 0; countColunm < 10; countColunm++) 
                { 
                    Console.Write(countColunm + 1); 

                    if (countColunm > countLine) 

                        break; 
                } 
                Console.WriteLine(); 
            }
            Console.ReadKey();
        }
    }

Faltou as chaves com o break dentro do if e o Console.Write(countColunm + 1); pra fora do if

Neste ponto do código:

 for (int countColunm = 0; countColunm < 10; countColunm++) 
                { 
                    Console.Write(countColunm + 1); 

                    if (countColunm > countLine) 

                        break; 
                } 

De acordo com o exercício o correto seria:

for (int countColunm = 0; countColunm < 10; countColunm++)
                {
                    if (countColunm > countLine)
                    {
                        break;
                    }
                    Console.Write(countColunm + 1);

O código inteiro de acordo com o proposto no exercício:

class Program
    {
        static void Main(string[] args)
        {
            for (int countLine = 0; countLine < 10; countLine++)
            {

                for (int countColunm = 0; countColunm < 10; countColunm++)
                {

                    if (countColunm > countLine)
                    {
                        break;

                    }
                    Console.Write(countColunm + 1);
                }

                Console.WriteLine();
            }
            Console.ReadKey();
        }
    }

Espero ter ajudado!

solução!

Saudações Ana, Obrigado pela sua reposta, fez-me rever o meu código.

Percebi que o problema estava em adicionar a lógica Console.Write(countColunm + 1) antes da condição if. Depois de alterar para o código abaixo, que está de acordo ao exercicio o resultado foi o esperado.

if (countColunm > countLine)
        break;
Console.Write(countColunm + 1)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software