diff --git a/MatrixExample.java b/MatrixExample.java index 051e5bc..882c7b3 100644 --- a/MatrixExample.java +++ b/MatrixExample.java @@ -12,15 +12,15 @@ public static void main(String[] args) { { 73, 18, 2, 2, 5, 11 } }; - int numRows = 6; - int numCols = 7; + int numRows = 7; + int numCols = 6; - int[][] matrix2 = generateRandomMatrix(numRows, numCols); + int[][] matrix2 = generateRandomMatrix(numCols, numRows); int[][] result = multiplyMatrices(matrix, 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; i++) { + for (int j = 0; j < result[i].length; j++) { System.out.print(result[i][j] + " "); } System.out.println(); @@ -31,8 +31,8 @@ public static void main(String[] args) { public static int[][] multiplyMatrices(int[][] matrix1, int[][] matrix2) { int rows1 = matrix1.length; int cols1 = matrix1[0].length; - int rows2 = matrix2.length; - int cols2 = matrix2[0].length; + int rows2 = matrix2[0].length; + int cols2 = matrix2.length; if (cols1 != rows2) { throw new IllegalArgumentException( @@ -44,7 +44,7 @@ public static int[][] multiplyMatrices(int[][] matrix1, int[][] matrix2) { // Lots of issues with this code, it used to be working perfectly though for (int i = 0; i < rows1; i++) { - for (int j = 0; j < cols2; j++) { + for (int j = 0; j < cols1; j++) { for (int k = 0; k < cols1; k++) { result[j][k] += matrix1[i][j] * matrix2[k][j]; } diff --git a/MatrixExampleTester.java b/MatrixExampleTester.java new file mode 100644 index 0000000..5ba499a --- /dev/null +++ b/MatrixExampleTester.java @@ -0,0 +1,35 @@ +import java.util.Arrays; + +public class MatrixExampleTester { + public static void main(String[] args) { + // int[][] one = MatrixExample.generateRandomMatrix(5, 5); + // int[][] two = MatrixExample.generateRandomMatrix(5, 5); + // int[][] multiplied = MatrixExample.multiplyMatrices(one, two); + // System.out.println(Arrays.deepToString(multiplied)); + + 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 = 7; + int numCols = 6; + + int[][] matrix2 = MatrixExample.generateRandomMatrix(numRows, numCols); + int[][] result = MatrixExample.multiplyMatrices(matrix, 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(); + } + + } +}