Ich bin gerade dabei ein Programm zu programmieren, das zwei Matrizen multiplizieren soll. Mein Problem ist nur, dass ein völlig falsches Ergebnis rauskommt. Hat jemand einen Tipp für mich? Wäre echt super. Hier mein bisheriges Vorgehen:
public class Matrix12 {
public static void main(String[] args) {
//Definition der 1.Matrix
int z1 = Integer.parseInt(args[0]);
int s1 = Integer.parseInt(args[1]);
int[][] matrix1 = new int [z1][s1];
//Füllen der 1.Matrix
for(int i = 0; i < matrix1.length; i++) {
for(int j = 0; j < matrix1.length; j++) {
matrix1[j] = (int)(z1*s1);
}
}
//Definition der 2.Matrix
int z2 = Integer.parseInt(args[2]);
int s2 = Integer.parseInt(args[3]);
int[][] matrix2 = new int [z2][s2];
//Füllen der 2.Matrix
for(int i = 0; i < matrix2.length; i++) {
for(int j = 0; j < matrix2.length; j++) {
matrix2[j] = (int)(z2*s2);
}
}
//Multiplikation der beiden Matrizen
int[][] ergebnismatrix = new int[z1][s1];
for(int i = 0; i < z1; i++) {
for(int j = 0; j < s1; j++) {
//Formt die neue Matrix
for(int p = 0; p < z1; p++)
ergebnismatrix[j] += matrix1[p] * matrix2[p][j];
}}
//Ausgabe der ergebnismatrix
for(int i = 0; i < z1; i++) {
for(int j = 0; j < s1; j++) {
System.out.print(ergebnismatrix[j] + "\t");
}
}}
}
public class Matrix12 {
public static void main(String[] args) {
//Definition der 1.Matrix
int z1 = Integer.parseInt(args[0]);
int s1 = Integer.parseInt(args[1]);
int[][] matrix1 = new int [z1][s1];
//Füllen der 1.Matrix
for(int i = 0; i < matrix1.length; i++) {
for(int j = 0; j < matrix1.length; j++) {
matrix1[j] = (int)(z1*s1);
}
}
//Definition der 2.Matrix
int z2 = Integer.parseInt(args[2]);
int s2 = Integer.parseInt(args[3]);
int[][] matrix2 = new int [z2][s2];
//Füllen der 2.Matrix
for(int i = 0; i < matrix2.length; i++) {
for(int j = 0; j < matrix2.length; j++) {
matrix2[j] = (int)(z2*s2);
}
}
//Multiplikation der beiden Matrizen
int[][] ergebnismatrix = new int[z1][s1];
for(int i = 0; i < z1; i++) {
for(int j = 0; j < s1; j++) {
//Formt die neue Matrix
for(int p = 0; p < z1; p++)
ergebnismatrix[j] += matrix1[p] * matrix2[p][j];
}}
//Ausgabe der ergebnismatrix
for(int i = 0; i < z1; i++) {
for(int j = 0; j < s1; j++) {
System.out.print(ergebnismatrix[j] + "\t");
}
}}
}