Como posso fazer para criar uma matriz de ordem [color=red]nxn[/color] onde só aparecerá 1 na diagonal principal e 0 nos restante da matriz? [color=blue](Tipo criar 2 for eu sei o problema é dentro, como q vai funcionar dentro do for).[/color]
vlw.

Como posso fazer para criar uma matriz de ordem [color=red]nxn[/color] onde só aparecerá 1 na diagonal principal e 0 nos restante da matriz? [color=blue](Tipo criar 2 for eu sei o problema é dentro, como q vai funcionar dentro do for).[/color]
vlw.

Quais são os elementos da matriz que recebem o valor 1? (Dica: só é preciso fazer 1 único “for” para preenchê-los.)
Como posso fazer para criar uma matriz de ordem [color=red]nxn[/color] onde só aparecerá 1 na diagonal principal e 0 nos restante da matriz? [color=blue](Tipo criar 2 for eu sei o problema é dentro, como q vai funcionar dentro do for).[/color]vlw.
Isso resolve seu problema. Agora como determinar se está na diagonal principal? Aí é com você (é simples).
Você já disse tudo. Dentro de um for verifique o seguinte:
- O elemento atual pertence à diagonal principal?
1.a. Sim. Adiciono 1 na posição.
1.b. Não. Adiciono 0 na posição.Isso resolve seu problema. Agora como determinar se está na diagonal principal? Aí é com você (é simples).
Nem precisa verificar nada. Com um só for sabe que está a apanhar todos os elementos da diagonal principal, e é só colocar a 1.
Você já disse tudo. Dentro de um for verifique o seguinte:
- O elemento atual pertence à diagonal principal?
1.a. Sim. Adiciono 1 na posição.
1.b. Não. Adiciono 0 na posição.Isso resolve seu problema. Agora como determinar se está na diagonal principal? Aí é com você (é simples).
Nem precisa verificar nada. Com um só for sabe que está a apanhar todos os elementos da diagonal principal, e é só colocar a 1.
Obrigado, havia esquecido.
Tentando de novo, mais simples ainda dessa vez:
O que indica que um elemento pertence à diagonal principal?
Respondendo isso é possível resolver o problema com um único for.
Quando um elemento está na diagonal principal? Quando sua linha é igual sua coluna.
Logo:
int[][] identidade = new int[4][4];
for (int linha = 0; i < identidade.length; linha++) {
for (int col = 0; col < identidade[linha].length; col++) {
identidade[linha][col] = linha == col ? 1 : 0;
}
}
Ahhhhhh Vini, vc acabou com a diversão =(
A gente tava querendo incentivar o pregu… usuário a descobrir sozinho isso…
na verdade vc precisa apenas fazer isso
int[][] m = new int[4][4];
for(i=0;i<m.length;i++) m[i][i] = 1;
pois os elementos não inicializados desse vetor terão valor 0 (por serem primitivos são inicializados com valor default).