Re:Matriz ajuda por favor!

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 :wink:

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 :wink:

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&lt;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,&quot;a soma é &quot;+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&lt;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 :wink: