Tirage aléatoire parmi une liste
NothingToulouse
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
NothingToulouse Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
NothingToulouse Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonsoir
Je cherche à créer un script qui me permette de répartir aléatoirement des données parmi celles figurant dans des groupes distincts :
Groupe 1 : A,B,C
Groupe 2 : D,E,F,G,H
Groupe 3 : I,J
Groupe 4 : K,L,M
Groupe 5 : N,O,P
Je souhaiterais un résultat qui m'affiche de façon aléatoire
1 parmi le Groupe 1
2 parmi le Groupe 2
1 parmi le Groupe 3
1 parmi le Groupe 4
1 parmi le Groupe 5
et que les résultats affichés ne produisent pas de doublon.
Le résultat pourrait donc être B-F-H-J-K-N
Merci d'avance
Je cherche à créer un script qui me permette de répartir aléatoirement des données parmi celles figurant dans des groupes distincts :
Groupe 1 : A,B,C
Groupe 2 : D,E,F,G,H
Groupe 3 : I,J
Groupe 4 : K,L,M
Groupe 5 : N,O,P
Je souhaiterais un résultat qui m'affiche de façon aléatoire
1 parmi le Groupe 1
2 parmi le Groupe 2
1 parmi le Groupe 3
1 parmi le Groupe 4
1 parmi le Groupe 5
et que les résultats affichés ne produisent pas de doublon.
Le résultat pourrait donc être B-F-H-J-K-N
Merci d'avance
A voir également:
- Tirage aléatoire parmi une liste
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
- Liste site streaming illégal - Accueil - Services en ligne
3 réponses
Bonsoir,
Tu les veux dans cet ordre ou par exemple les deux du groupe 2 pourraient être le premier et le dernier?
Je ne fais pas de Java, mais je peux te donner des algorithmes.
Tu les veux dans cet ordre ou par exemple les deux du groupe 2 pourraient être le premier et le dernier?
Je ne fais pas de Java, mais je peux te donner des algorithmes.
Bonjour,
"les résultats affichés ne produisent pas de doublon"
Est-ce qu'il y a des doublons dans les groupes ?
Quelle est ta structure de données pour stocker les listes des groupes et la liste de résultat ? (les types d'entrées et de sortie de ta méthode)
La confiance n'exclut pas le contrôle
"les résultats affichés ne produisent pas de doublon"
Est-ce qu'il y a des doublons dans les groupes ?
Groupe 1 : A,B,C→
Groupe 2 : C,D,E
C-Cc'est autorisé ou interdit ?
Quelle est ta structure de données pour stocker les listes des groupes et la liste de résultat ? (les types d'entrées et de sortie de ta méthode)
La confiance n'exclut pas le contrôle
Bonsoir KX.
@NothingToulouse, voici 2 options, qui dépendent du "contenant" comme KX te l'a demandé.
@NothingToulouse, voici 2 options, qui dépendent du "contenant" comme KX te l'a demandé.
- Option1 des tableaux
- Tu écrits une méthode Melanger qui prend un tableau en paramètre.Dans cette méthode tu vas tirer n fois (à toi de déterminer) deux index aléatoires, et tu échanges les valeurs des 2 "cases" du tableau.A la fin tu retournes le tableau mélangé.
- Dans une autre méthode, tu appelles Melanger pour chacun de tes tableaux, ensuite tu prends le premier enregistrement du premier tableau, les 2 premiers du second etc...que tu mets dans un tableau Resultats. Tu peux si cela te semble nécessaire mélanger aussi Resultat l'ordre ne sera pas établi.
- Option2 des List
- Même idée, mais Melanger est différente, tu fais une boucle qui va de 0 à nombre d'éléments de départs -1. Tu tires aléatoirement un index qui va 0 à nombre d'éléments actuels, tu ajoutes l'item dans l'index à un autre List qui sera celle retournée, et tu supprimes l'item de la List passée en paramètres.
Une autre option, tu mets tes collections (tableau ou list) dans une liste de collections le nombre de fois nécessaire.
Tu tires un premier index qui va déterminer la collection et ensuite un second index qui va déterminer l'item.
Tu enlèves la collection de la liste de collection et tu recommences tant qu'il en reste.
Tu tires un premier index qui va déterminer la collection et ensuite un second index qui va déterminer l'item.
Tu enlèves la collection de la liste de collection et tu recommences tant qu'il en reste.
Remarque : on pourra aussi utiliser la méthode shuffle pour mélanger une liste.
https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html#shuffle-java.util.List-
Après il y a juste à prendre les N premiers éléments de la liste ainsi mélangée.
https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html#shuffle-java.util.List-
Après il y a juste à prendre les N premiers éléments de la liste ainsi mélangée.
Merci.