English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Toutes les catégories

2007-01-11 06:11:15 · 4 réponses · demandé par Gizmo 1 dans Informatique et internet Programmation

Ce serai en effet pour programmer un sudoku!

2007-01-11 17:18:43 · update #1

4 réponses

quelque chose comme (non testé) :
for (int i=0;i for(int j=i+1;j if(tableau[i]==tableau[j])
{
printf("perdu\n");
exit(0);
}
printf("gagné\n");

2007-01-11 07:36:26 · answer #1 · answered by dsant69 4 · 0 0

L'algo ci-dessus marche, quoique d'une complexité polynomiale.
Algo linéaire (non testé non plus)

int verif_unicité( int* t )
{
int i = 0;
int flag[ 9 ] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

for( i = 0; i < 9; i++ )
{
if( flag[ t[ i ] ] == 1 )
{
return(1);
}
else
{
flag[ t[ i ] ] = 1;
}
}
return(0);
}

2007-01-11 23:20:07 · answer #2 · answered by Lwevin Myan 1 · 0 0

Cette fonction retourne 0 en cas ou deux nombres quelconques sont égaux dans ta liste et 1 dans le cas contraire.
pour chaque case du tableau verifier si'il existe une case ayant une valeur egale a elle (parmis les case suivantes), si oui elle retourne false sinon elle continue, si la boucle est finie c'est a dire aucune des cases n'ont des nombres égaux, alors elle retourne 1.
tu pe améliorer l'algorithme avec un raisonnement sur les processus de Markov ainsi améliorer les temps d'execution.
alors Bonne chance.

2007-01-11 23:15:15 · answer #3 · answered by x8789 1 · 0 0

ça serait pas pour résoudre un sudoku ?

2007-01-11 10:54:13 · answer #4 · answered by Ramis V 7 · 0 0

fedest.com, questions and answers