Por que não esta somando?
26/10/2016
0
for(int i=0;i<matInt.length;i++){
for(int j=0;j==i;j++){
somaDP = somaDP + matInt[i][j];
}
}
Ele só está armazenando o primeiro numero que digito na matriz. Queria que ele somasse.
Ex:
4 - 3 - 4
1 - 2 - 2
4 -3 -2
No caso ai, ele só está armazenando o 4. QUeria que ele somasse o 4+2+2 (Diagonal Principal)
Thun An
Posts
26/10/2016
Jones Granatyr
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
AQUI COLOCA O IF PARA VERIFICAR SE É A DIAGONAL PRINCIPAL
}
}
26/10/2016
Lucas Victor
for (int j = 0; j < 2; j++) {
if(i==0 && j==0 || i==1 && j==1 || i==2 && j==2){
somaDP = somaDP + matInt[i][j];
}
}
}
27/10/2016
Wálace Rodrigues
for(int i=0;i<matInt.length;i++) somaDP += matInt[i][i];
Observe que você vai somar apenas quando os índices da matriz forem iguais (ex: 0,0; 1,1; 2,2), neste caso você não precisa de um segundo for, nem mesmo do if para fazer a verificação. Só fique atento, se você não faz mais alguma coisa com a variável somaDP antes de exibir o resultado.
Abraço
27/10/2016
Wálace Rodrigues
for(int i=0;i<matInt.length;i++) somaDP += matInt[i][i];
Observe que você vai somar apenas quando os índices da matriz forem iguais (ex: 0,0; 1,1; 2,2), neste caso você não precisa de um segundo for, nem mesmo do if para fazer a verificação. Só fique atento, se você não faz mais alguma coisa com a variável somaDP antes de exibir o resultado.
Abraço
Eu não respondi porque o seu código não funcionou, segue ae:
No seu segundo for, você colocou como condição de parada j == i, logo, ele vai parar no primeiro instante que j != i, na primeira execução, o i = 0, j = 0, j == i , então somaDP = somaDP + matInt[i][j] que é 4, em todas as outras repetições o j será diferente do i logo de início, ignorando a soma. Por isso no final somaDP é o valor da primeira posição da matriz.
Abraço
Clique aqui para fazer login e interagir na Comunidade :)