71 lines
2.0 KiB
C
71 lines
2.0 KiB
C
|
/* ************************************************************************** */
|
||
|
/* */
|
||
|
/* ::: :::::::: */
|
||
|
/* main.c :+: :+: :+: */
|
||
|
/* +:+ +:+ +:+ */
|
||
|
/* By: ale-gal <marvin@42.fr> +#+ +:+ +#+ */
|
||
|
/* +#+#+#+#+#+ +#+ */
|
||
|
/* Created: 2023/07/22 12:32:28 by ale-gal #+# #+# */
|
||
|
/* Updated: 2023/07/23 17:45:59 by psalame ### ########.fr */
|
||
|
/* */
|
||
|
/* ************************************************************************** */
|
||
|
|
||
|
#include <unistd.h>
|
||
|
|
||
|
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);
|
||
|
}
|