|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2011 Messages : 6 ![]() |
Bonjour à tous,
je voudrais réaliser un tirage aléatoire de 4 nombres compris dans une plage de valeur précise mais qu'à chaque tirage la dernière valeur soit enlevée de la liste des valeurs possibles (ex : loto) et je ne vois pas trop comment faire pour cette dernière condition. Si quelqu'un a une idée il serait bien aimable de la partager. Cordialement, Dardas.
|
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : décembre 2006 Messages : 736 ![]() |
Salut,
Poste ton vi (simplifié) même incomplet histoire d'avoir une base... A+ |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2011 Messages : 6 ![]() |
Merci pour cette réponse rapide.
Grosso modo je veux exécuter 4 fois la fonction ci dessous pour générer une couleur en fonction du nombre déterminé aléatoirement. Cependant j'aimerai que d'un tirage à l'autre il soit impossible de tirer une couleur déjà sorti précédemment (principe du Mastermind). |
|
|
00
|
|
|
#4 | |
|
Membre émérite
![]() Inscription : décembre 2006 Messages : 736 ![]() |
Citation:
|
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2011 Messages : 6 ![]() |
Oui désolé j'ai oublié de l'enregistrer pour les versions précédentes. J'ai la version 2011 j'espère que ce sera compatible avec la votre. "Normalement" c'est bon.
|
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Rodéric L'EXACTIngénieur d'études Inscription : janvier 2011 Messages : 427 ![]() |
Encore du 2011 il faut le mettre en LV 2009 j'ai pas 2011 chez moi non plus!
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2011 Messages : 6 ![]() |
Vu que l'enregistrement dans une version différente ne semble pas fonctionner j'ai fait une capture d'écran. Faute de grive on mange des merles..
|
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Ingénieur qualité méthodes Inscription : avril 2010 Messages : 189 ![]() |
Salut,
Tel que je vois ton exemple, tu sauvegarde dans un tableau toutes les valeurs sorties. Ensuite, à chaque génération de chiffre tu regarde si elle n'est pas déjà sortie en faisant une recherche dans un tableau 1D. Je te préviens tout de suite, si tu as une plage de 10000 valeurs, ton VI va utiliser beaucoup de RAM vers la fin. Si tu ne doit générer les valeurs rapidement, je ne vois pas d'autres solutions, par contre, si tu ne doit les générer que toutes les 5 minutes, je te conseille de sauvegarder ton tableau à chaque fois dans un fichier pour soulager ta RAM. Losaque |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2011 Messages : 6 ![]() |
Bonjour Losaque et merci d'avoir pris du temps pour me répondre.
Non il n'y a pas 10k de valeurs mais seulement 4! Je pensais avoir trouver la solution mais visiblement en la testant il y a un problème. A la vue des problèmes de compatibilité inter-version je vais poster une image d'une partie de ce que j'ai réalisé. Si quelqu'un peut me signaler ce qui cloche je lui serais très reconnaissant. |
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Ingénieur qualité méthodes Inscription : avril 2010 Messages : 189 ![]() |
Salut,
Tu es tombé en plein dans le piège des variables locales : vu que LabView fait de l’exécution parallèle, ta valeur entier2 que tu charge dans ta boite de calcul n'est pas encore calculé et vaux donc toujours la valeur précédente. Sauf que quand tu sorts de ta boucle, tu as calculé un nouveau nombre qui peux très bien être le même que entier1 Pour ne pas changer tout ton VI, enlève la variable locale entier2 et relie l'entrée de la boite de calcul directement sur la valeur calculée. Même problème avec entier3. Par contre pour le calcul d'entier3 tu peux laisser la variable locale d'entier2 vu que tu as mis une structure séquence. Je te met quand même un petit VI que j'ai fait pour ta génération de nombre, pour que tu vois une méthodologie différente. Losaque |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2011 Messages : 6 ![]() |
On voit mieux l'aiguille dans l'assiette du voisin que la poutre dans la sienne!
L'erreur est tellement bête en y repensant! Je vous remercie de m'avoir si rapidement signalé l'erreur et également de m'avoir montré une version différente pour mon problème. Je pense garder ma solution car elle est directement exploitable dans mon cas de traitement des données de sortie. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com