Olá pessoal,
Estou tentando multiplicar uma matriz A[3x2] por uma B[2x3] para gerar uma Res[3x3]…quando compilo, nao dá nenhum erro visivel; mas quando vou execultar ocorre um estouro de array…gostaria que vcs me ajudassem. Se eu fizer uma 3x3 X 3x3 dá certo, mas uma 3x2 X 2x3 não dá!
Meu codigo:
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class MultiplicacaoVetores {
public static void main(String args[]) {
int mat1[][] = new int[3][2];
int mat2[][] = new int[2][3];
int res[][] = new int[3][3];
int i, j, k;
String output = " ";
output += "Primeira Matriz [3x2]
";
output += "------------
";
for(i=0; i<3; i++) {
for(j=0; j<2; j++) {
mat1[i][j] = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor do elemento [ " + (i+1) + "] [ " + (j+1) + "] da matriz[3x2]"));
output += mat1[i][j] + " ";
}
output+="
";
}
output += "Matriz [2x3]
";
output += "------------
";
for(i=0; i<2; i++) {
for(j=0; j<3; j++) {
mat2[i][j] = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor do elemento [ " + (i+1) + "] [ " + (j+1) + "] da matriz[2x3]"));
output += mat2[i][j] + " ";
}
output+="
";
}
//laco para calcular a multiplicacao
for(i=0; i<3; i++) {
for(j=0; j<3; j++) {
res[i][j] = 0;
for(k=0; k<3; k++) {
res[i][j] = res[i][j] + mat1[i][k] * mat2[k][j];
}
}
}
output += "Matriz Resultante[3x3]
";
output += "-------------------------
";
//imprimindo a matrix resultante
for(i=0; i<3; i++) {
for(j=0; j<3; j++) {
output += res[i][j] + " ";
}
output+="
";
}
JTextArea area = new JTextArea();
area.setText(output);
area.setEditable(false);
JOptionPane.showMessageDialog(null, area, "Multiplicação de Matrizes",
JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}