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 --- find_missing_repeated_val.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'find_missing_repeated_val.c') diff --git a/find_missing_repeated_val.c b/find_missing_repeated_val.c index 0514a74..b603396 100644 --- a/find_missing_repeated_val.c +++ b/find_missing_repeated_val.c @@ -35,13 +35,14 @@ int *findMissingAndRepeatedValues(int **grid, int gridSize, int *gridColSize, int main() { int g1i[2][2] = {{1, 3}, {2, 2}}, g2i[3][3] = {{9, 1, 7}, {8, 9, 2}, {3, 4, 6}}; - struct two_d_arr g1, g2; - two_d_arr_init(&g1, ARRAY_SIZE(g1i), ARRAY_SIZE(g1i[0]), g1i); - two_d_arr_init(&g2, ARRAY_SIZE(g2i), ARRAY_SIZE(g2i[0]), g2i); - int rs1, *fmarv1 = findMissingAndRepeatedValues(g1.arr, g1.row_size, - g1.col_size, &rs1); - int rs2, *fmarv2 = findMissingAndRepeatedValues(g2.arr, g2.row_size, - g2.col_size, &rs2); + struct two_d_arr *g1 = + two_d_arr_init(ARRAY_SIZE(g1i), ARRAY_SIZE(g1i[0]), g1i); + struct two_d_arr *g2 = + two_d_arr_init(ARRAY_SIZE(g2i), ARRAY_SIZE(g2i[0]), g2i); + int rs1, *fmarv1 = findMissingAndRepeatedValues(g1->arr, g1->row_size, + g1->col_size, &rs1); + int rs2, *fmarv2 = findMissingAndRepeatedValues(g2->arr, g2->row_size, + g2->col_size, &rs2); for (int i = 0; i < rs1; i++) printf("%d ", fmarv1[i]); // expect: 2 4 printf("\n"); @@ -50,6 +51,6 @@ int main() { printf("\n"); free(fmarv1); free(fmarv2); - two_d_arr_free(&g1); - two_d_arr_free(&g2); + two_d_arr_free(g1); + two_d_arr_free(g2); } -- cgit v1.2.3