From e7c7065a8d74f61aaf1d22bc4024d9be994ce3eb Mon Sep 17 00:00:00 2001 From: Anthony Debucquoy Date: Wed, 10 May 2023 20:02:10 +0200 Subject: [PATCH] Adding MatrixRemoveRow/Column --- .../main/java/school_project/Utils/Array.java | 26 +++++++++++++++ .../java/school_project/Utils/ArrayTest.java | 33 +++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/app/src/main/java/school_project/Utils/Array.java b/app/src/main/java/school_project/Utils/Array.java index 9f722d6..8d2176a 100644 --- a/app/src/main/java/school_project/Utils/Array.java +++ b/app/src/main/java/school_project/Utils/Array.java @@ -10,4 +10,30 @@ public class Array{ } return ret; } + + public static boolean[][] MatrixRemoveRow(boolean[][] o, int row){ + boolean[][] newMatrix = new boolean[o.length - 1][o[0].length]; + int newRow = 0; + for (int i = 0; i < o.length; i++) { + if(i == row) + i++; + newMatrix[newRow] = o[i]; + newRow++; + } + return newMatrix; + } + + public static boolean[][] MatrixRemoveColumn(boolean[][] o, int col){ + boolean[][] newMatrix = new boolean[o.length][o[0].length - 1]; + for (int i = 0; i < o.length; i++) { + int newCol = 0; + for(int j = 0; j < o[0].length; j++){ + if(j == col) + j++; + newMatrix[i][newCol] = o[i][j]; + newCol++; + } + } + return newMatrix; + } } diff --git a/app/src/test/java/school_project/Utils/ArrayTest.java b/app/src/test/java/school_project/Utils/ArrayTest.java index 70b66b9..14e5285 100644 --- a/app/src/test/java/school_project/Utils/ArrayTest.java +++ b/app/src/test/java/school_project/Utils/ArrayTest.java @@ -23,4 +23,37 @@ class ArrayTest { a[1][1] = true; assertArrayEquals(b, c); } + + @Test + void matrixRemoveRow() { + boolean[][] a = new boolean[][] { + {true, false, true}, + {false, false, false}, + {true, false, true}, + }; + boolean[][] b = new boolean[][] { + {true, false, true}, + {true, false, true}, + }; + + boolean[][] result = Array.MatrixRemoveRow(a, 1); + assertArrayEquals(b, result); + } + + @Test + void matrixRemoveColumn() { + boolean[][] a = new boolean[][] { + {true, false, true}, + {false, false, false}, + {true, false, true}, + }; + boolean[][] b = new boolean[][] { + {true, true}, + {false, false}, + {true, true}, + }; + + boolean[][] result = Array.MatrixRemoveColumn(a, 1); + assertArrayEquals(b, result); + } } \ No newline at end of file