Générer des nombres aléatoires sans les répéter.

Iternity Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
Iternity Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à tous.
J'apprends le c# et je suis bloqué devant un exercice qui consiste à générer des nombres aléatoires mais sans répéter un nombre deux fois. Par exemple comment choisir successivement 5 nombres entre 1 et 15 sans répéter aucun d'eux.
je précise que j'arrive déjà à générer des nombres aléatoires grâce à la classe Random. Mon problème se situe plutôt sur comment faire pour ne pas répéter les nombres.
MERCI.

A voir également:

1 réponse

Utilisateur anonyme
 
Bonjour

cette question est posée régulièrement, en cherchant un peu tu aurais trouvé.

Une solution (qui est valable pour des nombres, des choux, des patates etc...)

Tu commences par initialiser la collection des objets à "tirer". Cette collection doit être d'un type modulable (pas un tableau, la List<T> convient parfaitement), on va appeler cette collection "possibles"

Ensuite tu fais une boucle Do....While(il reste quelque chose dans possibles)
Dans cette boucle tu fais un random entre 0 et le nombre d'objets dans possible -1. Ce random sera l'index dans possible de l'objet tiré.
Aussitôt tu enlèves cet objet de possibles et ainsi tu ne pourras pas le tirer 2 fois.

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0
Iternity Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
 
merci whismeril.
Mais est-ce que tu expliquer un peu avec un petit bout de code c# .
MERCI.
0
Utilisateur anonyme
 
Non, le concept de l'exercice est de chercher un peu par soi même.
0
Iternity Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   > Utilisateur anonyme
 
merci!
je continue de chercher.
0