/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* place_sure.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/07/22 11:37:10 by adjoly #+# #+# */ /* Updated: 2023/07/23 11:11:18 by psalame ### ########.fr */ /* */ /* ************************************************************************** */ int get_area_size(void); void con_col(int **result, int i, int j, int **col) { int k; k = 0; if (col[i][j] == 1) { if (j == 1) result[get_area_size() - 1][i] = get_area_size(); else result[0][i] = get_area_size(); } else if (col[i][j] == get_area_size()) { if (j == 1) { k = get_area_size() + 1; while (--k > 0) result[k - 1][i] = (get_area_size() - k + 1); } else { while (++k <= get_area_size()) result[k - 1][i] = k; } } } void con_row(int **result, int i, int j, int **row) { int k; k = 0; if (row[i][j] == 1) { if (j == 1) result[i][get_area_size() - 1] = get_area_size(); else result[i][0] = get_area_size(); } else if (row[i][j] == get_area_size()) { if (j == 1) { k = get_area_size(); while (--k > 0) result[i][k - 1] = (get_area_size() - k + 1); } else { while (++k <= get_area_size()) result[i][k - 1] = k; } } } void place_col(int size, int **col, int **result) { int i; int j; i = 0; while (i < size) { j = 0; while (j < 2) { con_col(result, i, j, col); j++; } i++; } } void place_row(int size, int **row, int **result) { int i; int j; i = 0; while (i < size) { j = 0; while (j < 2) { con_row(result, i, j, row); j++; } i++; } } int **ft_place_sure(int **row, int **col, int **result) { int size; size = get_area_size(); place_row(size, row, result); place_col(size, col, result); return (result); }