From 4552bcf5a4a356415e248dee3b201f0cea7205bb Mon Sep 17 00:00:00 2001 From: Jack Sangdahl Date: Wed, 27 Aug 2025 12:45:33 -0600 Subject: chore: Refactor two_d_arr_init function Return a pointer to a new struct, rather than initialise objects in an existing struct --- count_submatrices_all_ones.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'count_submatrices_all_ones.c') diff --git a/count_submatrices_all_ones.c b/count_submatrices_all_ones.c index ab9c140..184651d 100644 --- a/count_submatrices_all_ones.c +++ b/count_submatrices_all_ones.c @@ -34,11 +34,12 @@ int numSubmat(int **mat, int matSize, int *matColSize) { int main() { int m1i[3][3] = {{1, 0, 1}, {1, 1, 0}, {1, 1, 0}}, m2i[3][4] = {{0, 1, 1, 0}, {0, 1, 1, 1}, {1, 1, 1, 0}}; - struct two_d_arr m1, m2; - two_d_arr_init(&m1, ARRAY_SIZE(m1i), ARRAY_SIZE(m1i[0]), m1i); - two_d_arr_init(&m2, ARRAY_SIZE(m2i), ARRAY_SIZE(m2i[0]), m2i); - printf("%d\n", numSubmat(m1.arr, m1.row_size, m1.col_size)); // expect: 13 - printf("%d\n", numSubmat(m2.arr, m2.row_size, m2.col_size)); // expect: 24 - two_d_arr_free(&m1); - two_d_arr_free(&m2); + struct two_d_arr *m1 = + two_d_arr_init(ARRAY_SIZE(m1i), ARRAY_SIZE(m1i[0]), m1i); + struct two_d_arr *m2 = + two_d_arr_init(ARRAY_SIZE(m2i), ARRAY_SIZE(m2i[0]), m2i); + printf("%d\n", numSubmat(m1->arr, m1->row_size, m1->col_size)); // expect: 13 + printf("%d\n", numSubmat(m2->arr, m2->row_size, m2->col_size)); // expect: 24 + two_d_arr_free(m1); + two_d_arr_free(m2); } -- cgit v1.2.3