Démineur
Fermé
didy_gwatinik
Messages postés
352
Date d'inscription
samedi 17 novembre 2007
Statut
Membre
Dernière intervention
30 mars 2010
-
5 janv. 2008 à 12:53
loulou - 20 mars 2008 à 12:08
loulou - 20 mars 2008 à 12:08
5 réponses
Utilisateur anonyme
5 janv. 2008 à 14:24
5 janv. 2008 à 14:24
Mais S est une entrée de valeur numérique.
C'est comme si on disait nbvoitures=30
C'est comme si on disait nbvoitures=30
Ok c'est ce j'avais compris mais quand je fais le pocédé mes mines ne se mettent que vers le début sur les quatres dernières lignes je n'ai aucune mines, c'est un pénible. Comment je pourrais y remédier?
Ce code là est-il correct??
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
tab[i][j]=rand( )%2;
if ((tab[i][j]>0.5) && (mine<10))
{
tab[i][j]=9;
mine++;
}
else{tab[i][j]=0;}
}
}
Ce code là est-il correct??
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
tab[i][j]=rand( )%2;
if ((tab[i][j]>0.5) && (mine<10))
{
tab[i][j]=9;
mine++;
}
else{tab[i][j]=0;}
}
}
J'arrive peut etre un peu tard pour répondre, mais d'autres pourrons peut etre en profiter...
Je suis en fait en train de programmer ce petit programme en C...
Ton problème vient évidement de ton utilisation de la fonction rand, qui retourne un nombre compris entre 0 et plusieurs centaines de milliers (j'ai plus le chiffre exacte en tête). Grâce à ton modulo (%) qui retourne le reste d'une division entière(ici une division par 2 ) , tu restreins ce nombre à 0 ou 1, c'est tout...
Donc dans ton programme, la valeur de tab[i][j] aura, à chaque valeur de i et j, 1 chance sur 2 de ne pas être une bombe, et 1 chances sur 2 d'en être... à ce rythme, pas étonnant que les bombes apparaissent rapidement (pense que si tu as une grille de 10 sur 10, soit 100 cases, avec 10 bombes, tu devrais en fait avoir 1 chance sur 10 environs par case d'avoir une bombe, et non 1 chance sur 2) ...
Je pense que tu utilise en fait une mauvaise tactique. Une bonne tactique (c'est a peut près celle que j'emploie) se trouve ici: http://www.commentcamarche.net/forum/affich 1352896 remplissage de bombes tableau pour demineur
Voila, je ne sais pas si j'ai pu aidé quelqu'un, mais je n'avais rien d'autre à faire ce soir ;)
Je suis en fait en train de programmer ce petit programme en C...
Ton problème vient évidement de ton utilisation de la fonction rand, qui retourne un nombre compris entre 0 et plusieurs centaines de milliers (j'ai plus le chiffre exacte en tête). Grâce à ton modulo (%) qui retourne le reste d'une division entière(ici une division par 2 ) , tu restreins ce nombre à 0 ou 1, c'est tout...
Donc dans ton programme, la valeur de tab[i][j] aura, à chaque valeur de i et j, 1 chance sur 2 de ne pas être une bombe, et 1 chances sur 2 d'en être... à ce rythme, pas étonnant que les bombes apparaissent rapidement (pense que si tu as une grille de 10 sur 10, soit 100 cases, avec 10 bombes, tu devrais en fait avoir 1 chance sur 10 environs par case d'avoir une bombe, et non 1 chance sur 2) ...
Je pense que tu utilise en fait une mauvaise tactique. Une bonne tactique (c'est a peut près celle que j'emploie) se trouve ici: http://www.commentcamarche.net/forum/affich 1352896 remplissage de bombes tableau pour demineur
Voila, je ne sais pas si j'ai pu aidé quelqu'un, mais je n'avais rien d'autre à faire ce soir ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question