Nombre aléatoire avec nombres Exclus

Fermé
Zarkia Messages postés 3 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 2 novembre 2014 - 2 nov. 2014 à 21:10
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 nov. 2014 à 22:19
Bonsoir ,
J'aimerai faire un petit logiciel qui tire un nombre au hasard de 0 à 16 ( Jusque là très simple )
Mais je demande à l'utilisateur de choisir un nombre entre 0 et 16 ( Simple aussi)
J'aimerai donc pouvoir tirer un nombre au hasard en excluant le nombre choisi par l'utilisateur, et c'est là que je bloque, si quelqu'un peut me filer un coup de pouce ça serait gentil

Pour le nombre au "hasard" j'utilise :

" srand(time(NULL));
nombreHasard = (rand()% (MAX-MIN+1)) + MIN; "

Je ne sais pas si on peut bidouiller cette formule ou alors s'il en faut une autre

Merci d'avance
A voir également:

2 réponses

BadGamer Messages postés 517 Date d'inscription mercredi 24 novembre 2010 Statut Membre Dernière intervention 25 décembre 2014 132
2 nov. 2014 à 21:16
C'est un peu sale mais tu peux faire l'algo suivant

do{
generer ton nombre
}while(nombre généré == nombre entré)

du coup si le mec rentre 5, ton algo génère un nombre, si le nombre est 5 il recommence la boucle et en prend un autre, et si c'est différent il sors de la boucle.
0
Zarkia Messages postés 3 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 2 novembre 2014
Modifié par Zarkia le 2/11/2014 à 21:24
Oui c'est très bien pour un nombre mais en fait ce que je veux faire est un peu plus dur, j'aimerai tirer le nombre aléatoire une fois que l'utilisateur m'a entré 8 nombre en tout
Donc le logiciel n'aurait plus le choix qu'entre le 8 nombres restants
0
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 031
2 nov. 2014 à 21:23
Bonjour, dans Excel tu as la formule ALEA.ENTRE.BORNES qui te permet de faire tirer un nombre au hasard compris entre deux bornes (ici 0 et 16). Ajoute ENT avant pour n'avoir que des entiers et pas du genre 3,8. Maintenant que tu as ENT(ALEA.ENTRE.BORNES(1;16)), il faut qu'Excel tienne compte du chiffre choisi par l'utilisateur
-1
Zarkia Messages postés 3 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 2 novembre 2014
2 nov. 2014 à 21:26
Merci de ta réponse mais je travaille en C avec Xcode
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
2 nov. 2014 à 22:19
Bonjour,
Tu crées un tableau contenant chacun des nombres autorisés.
Tu mélanges le tableau (pas trop, ça ne sert à rien)
Et tu tires un élément du tableau.
Et voilou
0