129 lines
2.5 KiB
C
129 lines
2.5 KiB
C
|
/* ************************************************************************** */
|
||
|
/* */
|
||
|
/* ::: :::::::: */
|
||
|
/* verif.c :+: :+: :+: */
|
||
|
/* +:+ +:+ +:+ */
|
||
|
/* By: jmikola <jmikola@student.42.fr> +#+ +:+ +#+ */
|
||
|
/* +#+#+#+#+#+ +#+ */
|
||
|
/* Created: 2023/07/22 13:01:37 by jmikola #+# #+# */
|
||
|
/* Updated: 2023/07/23 10:53:36 by jmikola ### ########.fr */
|
||
|
/* */
|
||
|
/* ************************************************************************** */
|
||
|
|
||
|
int get_area_size(void);
|
||
|
|
||
|
int verif_row_left(int i, int **tab)
|
||
|
{
|
||
|
int val_row_left;
|
||
|
int v_max;
|
||
|
int j;
|
||
|
int area_size;
|
||
|
|
||
|
j = 0;
|
||
|
val_row_left = 0;
|
||
|
v_max = 0;
|
||
|
area_size = get_area_size();
|
||
|
while (j < area_size)
|
||
|
{
|
||
|
if (tab[i / area_size][j] > v_max)
|
||
|
{
|
||
|
val_row_left++;
|
||
|
v_max = tab[i / area_size][j];
|
||
|
}
|
||
|
j++;
|
||
|
}
|
||
|
return (val_row_left);
|
||
|
}
|
||
|
|
||
|
int verif_row_right(int i, int **tab)
|
||
|
{
|
||
|
int val_row_right;
|
||
|
int v_max;
|
||
|
int j;
|
||
|
int area_size;
|
||
|
|
||
|
area_size = get_area_size();
|
||
|
j = area_size - 1;
|
||
|
v_max = 0;
|
||
|
val_row_right = 0;
|
||
|
while (j >= 0)
|
||
|
{
|
||
|
if (tab[i / area_size][j] > v_max)
|
||
|
{
|
||
|
val_row_right++;
|
||
|
v_max = tab[i / area_size][j];
|
||
|
}
|
||
|
j--;
|
||
|
}
|
||
|
return (val_row_right);
|
||
|
}
|
||
|
|
||
|
int verif_col_up(int i, int **tab)
|
||
|
{
|
||
|
int val_col_up;
|
||
|
int v_max;
|
||
|
int j;
|
||
|
int area_size;
|
||
|
|
||
|
j = 0;
|
||
|
v_max = 0;
|
||
|
val_col_up = 0;
|
||
|
area_size = get_area_size();
|
||
|
while (j < area_size)
|
||
|
{
|
||
|
if (tab[j][i % area_size] > v_max)
|
||
|
{
|
||
|
val_col_up++;
|
||
|
v_max = tab[j][i % area_size];
|
||
|
}
|
||
|
j++;
|
||
|
}
|
||
|
return (val_col_up);
|
||
|
}
|
||
|
|
||
|
int verif_col_down(int i, int **tab)
|
||
|
{
|
||
|
int val_col_down;
|
||
|
int v_max;
|
||
|
int j;
|
||
|
int area_size;
|
||
|
|
||
|
area_size = get_area_size();
|
||
|
j = area_size - 1;
|
||
|
v_max = 0;
|
||
|
val_col_down = 0;
|
||
|
while (j >= 0)
|
||
|
{
|
||
|
if (tab[j][i % area_size] > v_max)
|
||
|
{
|
||
|
val_col_down++;
|
||
|
v_max = tab[j][i % area_size];
|
||
|
}
|
||
|
j--;
|
||
|
}
|
||
|
return (val_col_down);
|
||
|
}
|
||
|
|
||
|
int verif_non_double(int i, int **tab)
|
||
|
{
|
||
|
int j;
|
||
|
int area_size;
|
||
|
|
||
|
j = 0;
|
||
|
area_size = get_area_size();
|
||
|
while (j < i % area_size)
|
||
|
{
|
||
|
if (tab[i / area_size][j] == tab[i / area_size][i % area_size])
|
||
|
return (0);
|
||
|
j++;
|
||
|
}
|
||
|
j = 0;
|
||
|
while (j < i / area_size)
|
||
|
{
|
||
|
if (tab[j][i % area_size] == tab[i / area_size][i % area_size])
|
||
|
return (0);
|
||
|
j++;
|
||
|
}
|
||
|
return (1);
|
||
|
}
|