/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* main.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: ale-gal +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/07/22 12:32:28 by ale-gal #+# #+# */ /* Updated: 2023/07/23 17:45:59 by psalame ### ########.fr */ /* */ /* ************************************************************************** */ #include int get_area_size(void); int **get_col_args(char **argv); int **get_row_args(char **argv); void ft_free_tabtab(int **tab, int size); void ft_print_double_tab(int **tab, int size); int **ft_place_sure(int **row, int **col, int **result); int is_args_valid(int argc, char **argv); int ft_test_possibility(int **tab, int i); int **init_res(void); int **g_col; int **g_row; int g_area_size; int **get_col(void) { return (g_col); } int **get_row(void) { return (g_row); } int main(int argc, char **argv) { int **res; g_area_size = is_args_valid(argc, argv); if (g_area_size == 0) { write(1, "Error\n", 6); return (0); } g_col = get_col_args(argv); g_row = get_row_args(argv); res = init_res(); if (g_col == NULL || g_row == NULL || res == NULL) { write(1, "Error\n", 6); return (0); } ft_place_sure(g_row, g_col, res); if (ft_test_possibility(res, 0)) ft_print_double_tab(res, get_area_size()); else write(1, "Error\n", 6); ft_free_tabtab(res, get_area_size()); ft_free_tabtab(g_col, get_area_size()); ft_free_tabtab(g_row, get_area_size()); return (0); } int get_area_size(void) { return (g_area_size); }