3
respostas

Matriz Triangular

Não consegui fazer a matriz triangular, alguém pode me ajudar? Segue código abaixo:

package sintaxe_variaveis_e_fluxo;

public class TestaLacos2 {
    public static void main(String[] args) {

        for(int linha = 1; linha <= 10; linha++) {

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

                System.out.print(coluna * linha);

                if(coluna > linha) {
                break;
                }
                System.out.print("*");


            }

            System.out.println();


        }

    }

}


3 respostas

Olá Vitor! Tudo bem?

Vejo que está treinando com os exercícios que o instrutor utilizou na aula. Isso é ótimo!

No caso da matriz triangular você se refere ao exemplo abaixo, certo?


*
**
***
****
*****
******
*******
********
*********
**********

 

Para realizar esse exemplo nós precisamos de uma pequena alteração.

Percebeu a maior diferença entre os dois exemplos?

Para imprimir a matriz 10 x 10 (quadrada), nós utilizamos um número de linhas e colunas semelhantes. Ou seja, para cada linha, sempre imprimimos 10 colunas, e tínhamos no total 10 linhas.

No caso da matriz triangular nós temos uma diferença... não teremos um número igual de colunas e linhas, mas sim um número crescente de colunas a cada linha acrescentada. Ou seja, na primeira linha uma coluna, na segunda linha duas colunas, na terceira três... e assim por diante.

O código ficaria dessa forma:

public class TestaLacos2 {
    public static void main(String[] args) {
        for(int linha = 0; linha < 10; linha++) {
            for(int coluna = 0; coluna <= linha; coluna++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

Veja que a maior diferença que temos está dentro dos laços de repetição (for)...

Para a matriz quadrada utilizamos dessa forma:

for(int linha = 0; linha < 10; linha++) {
            for(int coluna = 0; coluna < 10; coluna++)

Enquanto na triangular, utilizamos assim:

for(int linha = 0; linha < 10; linha++) {
            for(int coluna = 0; coluna <= linha; coluna++)

Percebeu o que mudou entre as duas?

Como te falei mais acima, na matriz triangular nós definimos o número de colunas de acordo com o número de linhas, sempre em ordem crescente, por utilizarmos coluna <= linha.

Espero ter te ajudado nessa dúvida!

Se precisar de algo mais a respeito desse exercício, é só falar! 😄

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Olá Vitor Dias, Se vc somente retirar de seu escopo a linha

System.out.print(coluna * linha); // Que esta tentando imprimir a multiplicação sua coluna pela linha, não tem a necessidade e isso já irá resolver.

Espero ter ajudado.

    public static void main(String[] args) {

        for(int linha = 0 ; linha <= 10 ; linha++) {
            for(int coluna = 0 ; coluna <= linha; coluna++) {

                System.out.print(linha*coluna+" ");
            }
            System.out.println("");
        }
    }

Insira aqui a descrição dessa imagem para ajudar na acessibilidade