Procure uma parte do seu código onde possa haver acesso ao índice -3 da sua matriz.
- dica: procure por alguma coisa como “0 - 3”
- dica: procure por isso dentro de um loop
Procure uma parte do seu código onde possa haver acesso ao índice -3 da sua matriz.
Obrigado por esta lendo aki neh e q assim eu queria fazer a soma da diagonal inversa de uma matriz so q tem um problema … veja :[code]
public static void fazz(){
float matriz[][] = new float[3][3];
float soma=0;
int l, c;
for(l=0;l<3;l++){
for(c=0;c<3;c++){
matriz[l][c] = Float.parseFloat(JOptionPane.showInputDialog("matriz["+l+"]["+c+"]"));
}
}
soma = soma +matriz[0][2]+matriz[1][1]+matriz[2][0];
JOptionPane.showMessageDialog(null,"a soma é "+soma);
}
[/code] essa e uma matriz 3x3 e se um dia eu quiser uma matriz 10X10 eu vo ter de fazer a soma celula por celula ou tem uma forma mais simples como a de fazer a soma da matriz principal de uma matriz desse modo :[code]
public static void fazz(){
float matriz[][] = new float[3][3];
float soma=0;
int l, c;
for(l=0;l<3;l++){
for(c=0;c<3;c++){
matriz[l][c] = Float.parseFloat(JOptionPane.showInputDialog("matriz["+l+"]["+c+"]"));
}
}
for(l=0;l<3;l++){
soma = soma +matriz[l][l]
}
JOptionPane.showMessageDialog(null,"a soma é "+soma);
}[/code]
me ajudem por favor agradeço !
Pelo que eu entendi é este trecho que tu quer melhorar?
faz um for:
porque se tu prestar atenção, as diagonais são sempre:
0,10
1,9
2,8
3,7
4,6
5,5
6,4
7,3
8,2
9,1
10,0
ou seja: é a linha e a o numero da coluna é o numero de colunas menos o número de linhas.
espero ter ajudado.
flw 
poxa veiu vc tem razao hein ! mais essa parte do tamanho da matriz me esclarece um poko pq so ignorante aainda fica ria assim
for (int i=0; i<10; i++){
soma = soma + matriz[i][10-i]
}
certo ?
eu fiz assim olha !
[code]
public static void fazz(){
float matriz[][] = new float[3][3];
float soma=0;
int l, c;
for(l=0;l<3;l++){
for(c=0;c<3;c++){
matriz[l][c] = Float.parseFloat(JOptionPane.showInputDialog("matriz["+l+"]["+c+"]"));
}
}
for(l=0;l<3;l++){
soma = soma +matriz[l][l-3] ;
}
JOptionPane.showMessageDialog(null,"a soma é "+soma);
}
[/code] so q da erro assim :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -3
q eu faço ?
[quote=tiaguinhooo]eu fiz assim olha !
for(l=0;l<3;l++){
soma = soma +matriz[l][l-3] ;
}
[/quote]
teu prob tá aqui.
é 2-l.
Se tu fizer l-3, quando l for 0, 0-3=-3, e não existe a coluna -3.
e se tu fizer 3-l, quando l for 0, 3-0=3, e como a tua matriz tem 3 posições (de 0 a 2) então tu não vai ter a coluna 3.
Faz então 2-l
flw 