[RESOLVIDO] Imprimir Matriz

Bom dia a todos do GUJ.

Bom pessoal minha dúvida é a seguinte.
Gostaria de saber como que faço para imprimir uma matriz em java que se comporta da seguinte forma abaixo.

A diagonal principal é preenchida com “1” e os elementos que ficam acima da diagonal principal são preenchidos com “0”.
O meu código abaixo faz exatamente isso, mais não consigo IMPRIMIR na tela isso.

[code]public static void main(String[] args)
{
int[][] matriz = new int[5][5];
Vector v = new Vector();

    for (int i = 0; i < matriz.length; i++)
    {
        matriz[i][i] = 1;
    }

    for (int i = 1; i < matriz.length; i++)
    {
        for (int j = 0; j < matriz.length - i; j++)
        {
            matriz[j][i+j] = 0;
            v.add(matriz[j][i+j]);
        }
    }
}[/code]

Alguém poderia me dar uma dica de como eu poderia faze isso?
Desde de já obrigado pela ajuda de todos.

Não entendi direito, quer imprimir a matriz no formato que ela está preenchida (1 para diagonal principal e 0 para os campos acima desta)?

Exatamente drsmachado

Qual a característica da diagonal principal?
Tanto o eixo X quanto o eixo Y tem o mesmo valor (0, 0), (1,1), (2,2), (n,n).
Qual a característica dos campos acima da diagonal principal?
Os valores do eixo Y são menores que os do eixo X (1, 0), (2,0), (2,1)…

Você só precisa validar isso, certo?

Exatamente, todos os valores de minha diagonal principal tem valores iguais a ZERO

As característica dos valores acima da minha diagonal principal é ser preenchidos por qualquer valores, mais inicialmente os setei com valor igual a ZERO

Não irei precisar validar.
Preciso apenas mostra na tela a matriz desenhada tal como na figura, mas, com valores.

É isso aqui?

[code]public static void main(String[] args)
{
int[][] matriz = new int[5][5];
Vector v = new Vector();

    for (int i = 0; i &lt; matriz.length; i++)  
    {  
        matriz[i][i] = 1;  
    }  

    for (int i = 1; i &lt; matriz.length; i++)  
    {  
        for (int j = 0; j &lt; matriz.length - i; j++)  
        {  
            matriz[j][i+j] = 0;  
            v.add(matriz[j][i+j]);  
        }  
    }  
    for(int i = 0; i &lt; matriz.length; i++)	{
    	for(int j = 0; j &lt; matriz[i].length; j++)	{
    		System.out.print(matriz[i][j]);
    	}
    	System.out.println(&quot;&quot;);
    }
} [/code]

Mais ou menos Eric SantAnna

Só que não precisaria dos ‘0’ abaixo da diagonal principal, apenas dos que ficam acima.

Isso talvez? hehe

[code]
public class Teste {
public static void main(String[] args)
{
int[][] matriz = new int[5][5];
// Vector v = new Vector();

    for (int i = 0; i &lt; matriz.length; i++)    
    {    
        matriz[i][i] = 1;    
    }    

    for (int i = 1; i &lt; matriz.length; i++)    
    {    
        for (int j = 0; j &lt; matriz.length - i; j++)    
        {    
            matriz[j][i+j] = 0;    

// v.add(matriz[j][i+j]);
}
}
int aux = 0;
for(int i = 0; i < matriz.length; i++) {
for(int j = 0; j < matriz[i].length; j++) {
if(j < aux)
System.out.print(" ");
else
System.out.print(matriz[i][j]);

        }  
        aux++;
        System.out.println(&quot;&quot;);  
    }  
} 

}[/code]

1 curtida

Opa… exatamente Eric SantAnna
Obrigado pela ajuda :smiley:
Até a proxima :slight_smile: