1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
static char **stock_sudoku(int *finish)
{
char buffer[30];
int ctr;
char **tab;
ctr = 0;
tab = xmalloc(sizeof(*tab) * 11);
while (*finish != TRUE && ctr <= 10) /* Recupere 10 lignes */
{
if ((fgets(buffer, sizeof(buffer), stdin)) == NULL)
*finish = TRUE;
else
tab[ctr] = strdup(buffer);
ctr++;
}
tab[ctr] = NULL;
return (tab);
}
int sudoku()
{
char **tab;
int finish;
finish = FALSE;
while (finish != TRUE)
{
tab = stock_sudoku(&finish); /* Recupere les sudokus a partir de l'entree standard */
begin_sudoku(tab); /* Nettoie la map et fait tout l'algo sur Sudoku */
if (finish == FALSE)
{
fprintl(1, DELIMITER); /* Affiche un simple delimiteur avec retour a la ligne sur l'entree standard */
free_tab(tab);
}
}
printf("FINI\n");
return (SUCCESS);
} |
Partager