Mastermind en C
coran20
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
coran20 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
coran20 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Svp , j'ai un miniprojet concernant mastermind en C et j'ai un petit problème concernant la génération de 4 nombres d'une manière aléatoire parmis 8 sans qu'il y a un nombre répété deux fois
SVP, j'attend vos réponses:D
Svp , j'ai un miniprojet concernant mastermind en C et j'ai un petit problème concernant la génération de 4 nombres d'une manière aléatoire parmis 8 sans qu'il y a un nombre répété deux fois
SVP, j'attend vos réponses:D
4 réponses
Bonjour,
Il faut passer par un tableau. Tu stockes les nombres aléatoires au fur et à mesure dans ton tableau et tu boucles tant que la nouvelle valeur aléatoire n'est pas différente de toutes les valeurs du tableau.
Il faut passer par un tableau. Tu stockes les nombres aléatoires au fur et à mesure dans ton tableau et tu boucles tant que la nouvelle valeur aléatoire n'est pas différente de toutes les valeurs du tableau.
voilà une proc que j'ai utilisé moi meme pr fair ce miniprojet
void al( int t[4],int tc[10])
{
int k, i;
srand(time(0));
k = 0;
int nbre; // nombre générer aléatoirement
int nbre_unique = 1,nbre_existe=0 ;
while( k < 4) // on aura 4 nombre t[0] ,t[1] ,t[2] ,t[3]
{
nbre = rand()%13+1;
for( i=0 ; i<=k ; i++)
{
if (nbre == t[i])
{
nbre_unique = 0;
break;
}
}
for( i=0 ; i<=10 ; i++)
{
if (nbre == tc[i])
{
nbre_existe = 1;
break;
}
}
if((nbre_unique)&&(nbre_existe))
{
t[k] = nbre;
k++; // on passe au prochain
}
nbre_unique = 1;
nbre_existe =0; // pour le prochain tour
} // fin de while
}
void al( int t[4],int tc[10])
{
int k, i;
srand(time(0));
k = 0;
int nbre; // nombre générer aléatoirement
int nbre_unique = 1,nbre_existe=0 ;
while( k < 4) // on aura 4 nombre t[0] ,t[1] ,t[2] ,t[3]
{
nbre = rand()%13+1;
for( i=0 ; i<=k ; i++)
{
if (nbre == t[i])
{
nbre_unique = 0;
break;
}
}
for( i=0 ; i<=10 ; i++)
{
if (nbre == tc[i])
{
nbre_existe = 1;
break;
}
}
if((nbre_unique)&&(nbre_existe))
{
t[k] = nbre;
k++; // on passe au prochain
}
nbre_unique = 1;
nbre_existe =0; // pour le prochain tour
} // fin de while
}