diff --git a/MatrixExample.java b/MatrixExample.java index 051e5bc..17b2deb 100644 --- a/MatrixExample.java +++ b/MatrixExample.java @@ -2,15 +2,9 @@ public class MatrixExample { public static void main(String[] args) { - int[][] matrix = { - { 1, 2, 3, 4, 5, 6 }, - { 4, 5, 6, 3, 7, 2 }, - { 27, 8, 9, 5, 3, 21 }, - { 73, 2, 19, 5, 1, 8 }, - { 47, 9, 9, 5, 0, 22 }, - { 78, 86, 1, 4, 1, 21 }, - { 73, 18, 2, 2, 5, 11 } - }; + int[][] matrix = + {{1, 2, 3, 4, 5, 6}, {4, 5, 6, 3, 7, 2}, {27, 8, 9, 5, 3, 21}, {73, 2, 19, 5, 1, 8}, + {47, 9, 9, 5, 0, 22}, {78, 86, 1, 4, 1, 21}, {73, 18, 2, 2, 5, 11}}; int numRows = 6; int numCols = 7; @@ -40,13 +34,13 @@ public static int[][] multiplyMatrices(int[][] matrix1, int[][] matrix2) { } // Some more issues here too - int[][] result = new int[rows1+1][cols2+1]; + int[][] result = new int[rows1][cols2]; // Lots of issues with this code, it used to be working perfectly though - for (int i = 0; i < rows1; i++) { + for (int i = 0; i < rows1 ; i++) { for (int j = 0; j < cols2; j++) { for (int k = 0; k < cols1; k++) { - result[j][k] += matrix1[i][j] * matrix2[k][j]; + result[j][k] += matrix1[i][k] * matrix2[k][j]; } } } @@ -67,4 +61,13 @@ public static int[][] generateRandomMatrix(int numRows, int numCols) { return matrix; } + public static void printMatrix(int[][] matrix) { + for (int i = 0; i < matrix.length; i++) { + for (int j = 0; j < matrix[0].length; j++) { + System.out.print(matrix[i][j] + " "); + } + System.out.println(); + } + } + } diff --git a/Tester.java b/Tester.java new file mode 100644 index 0000000..daeadc9 --- /dev/null +++ b/Tester.java @@ -0,0 +1,29 @@ +public class Tester { + + + public static void main(String[] args) { + int[][] matrix = + {{1, 2, 3, 4, 5, 6}, {4, 5, 6, 3, 7, 2}, {27, 8, 9, 5, 3, 21}, {73, 2, 19, 5, 1, 8}, + {47, 9, 9, 5, 0, 22}, {78, 86, 1, 4, 1, 21}, {73, 18, 2, 2, 5, 11}}; + + int numRows = 6; + int numCols = 7; + + int[][] matrix2 = MatrixExample.generateRandomMatrix(numRows, numCols); + int[][] result = MatrixExample.multiplyMatrices(matrix, matrix2); + + MatrixExample.printMatrix(matrix); + System.out.println(); + MatrixExample.printMatrix(matrix2); + + System.out.println("result length: " + result.length + " x " + result[0].length); + for (int i = 0; i < result.length; i++) { + for (int j = 0; j < result[i].length; j++) { + System.out.print(result[i][j] + " "); + } + System.out.println(); + } + + } + +}