J'essaye d'utiliser la commande Hazard pour générer 5 numéros
aléatoires à partir d'une yable contenant des chiffres allant de 1 à 80
par exemple
Quelque soient les codes utilisés j'obtiens régulièrement des doubles
Ou est mon erreur dans l'utilisation de cette commande ?
Comment empêcher l'obtention de ces doubles ?
ResHasard est un entier
InitHasard()
POUR Ih = 1 A 5
ResHasard = Hasard(1, Table1..Occurrence)
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
Temporisation(125) // pour dépasser 1 seconde
FIN
POUR Ih = 1 A 5
InitHasard()
ResHasard = Hasard(1, Table1..Occurrence)
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
Temporisation(125) // pour dépasser 1 seconde
FIN
InitHasard()
POUR Ih = 1 A 5
ResHasard = Hasard(1, Table1..Occurrence)
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
// sans temporisation
FIN
POUR Ih = 1 A 5
InitHasard()
ResHasard = Hasard(1, Table1..Occurrence)
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
// sans temporisation
FIN
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles
GpEp a formulé ce samedi :
Bonjour,
J'essaye d'utiliser la commande Hazard pour générer 5 numéros aléatoires à partir d'une yable contenant des chiffres allant de 1 à 80 par exemple Quelque soient les codes utilisés j'obtiens régulièrement des doubles Ou est mon erreur dans l'utilisation de cette commande ? Comment empêcher l'obtention de ces doubles ?
Faire une boucle tantque en ayant mémorisé les nombres déjà tirés.
GpEp a formulé ce samedi :
Bonjour,
J'essaye d'utiliser la commande Hazard pour générer 5 numéros aléatoires à
partir d'une yable contenant des chiffres allant de 1 à 80 par exemple
Quelque soient les codes utilisés j'obtiens régulièrement des doubles
Ou est mon erreur dans l'utilisation de cette commande ?
Comment empêcher l'obtention de ces doubles ?
Faire une boucle tantque en ayant mémorisé les nombres déjà tirés.
J'essaye d'utiliser la commande Hazard pour générer 5 numéros aléatoires à partir d'une yable contenant des chiffres allant de 1 à 80 par exemple Quelque soient les codes utilisés j'obtiens régulièrement des doubles Ou est mon erreur dans l'utilisation de cette commande ? Comment empêcher l'obtention de ces doubles ?
Faire une boucle tantque en ayant mémorisé les nombres déjà tirés.
Firetox
Bonjour,
InitHasard()
initHasard(heuresys()) permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5 ResHasard = Hasard(1, Table1..Occurrence) ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) fin pour eviter d'avoir les memes (les probalités sont ce quelles sont et on peux avoir le mem tirage) evite d'avoir le meme tirage dans la liste on aura aucun doublon
bon dev @+
Bonjour,
InitHasard()
initHasard(heuresys())
permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5
ResHasard = Hasard(1, Table1..Occurrence)
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par
si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
fin
pour eviter d'avoir les memes (les probalités sont ce quelles sont et on
peux avoir le mem tirage)
evite d'avoir le meme tirage dans la liste on aura aucun doublon
initHasard(heuresys()) permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5 ResHasard = Hasard(1, Table1..Occurrence) ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) fin pour eviter d'avoir les memes (les probalités sont ce quelles sont et on peux avoir le mem tirage) evite d'avoir le meme tirage dans la liste on aura aucun doublon
bon dev @+
Firetox
oups un coup de doigts sur enter avant la fin
lh est un entier = 1 InitHasard() Tantque Ih <= 5 ResHasard = Hasard(1, Table1..Occurrence) si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) lh++ fin Temporisation(125) // pour dépasser 1 seconde FIN
on reste sur le tantque on a pas ajouter une valeur dans la liste
bon dev @+
Firetox
"Firetox" a écrit dans le message de news:4abe6090$0$16779$
Bonjour,
InitHasard()
initHasard(heuresys()) permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5 ResHasard = Hasard(1, Table1..Occurrence) ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) fin pour eviter d'avoir les memes (les probalités sont ce quelles sont et on peux avoir le mem tirage) evite d'avoir le meme tirage dans la liste on aura aucun doublon
bon dev @+
oups un coup de doigts sur enter avant la fin
lh est un entier = 1
InitHasard()
Tantque Ih <= 5
ResHasard = Hasard(1, Table1..Occurrence)
si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
lh++
fin
Temporisation(125) // pour dépasser 1 seconde
FIN
on reste sur le tantque on a pas ajouter une valeur dans la liste
bon dev
@+
Firetox
"Firetox" <firetox@free.fr> a écrit dans le message de
news:4abe6090$0$16779$426a34cc@news.free.fr...
Bonjour,
InitHasard()
initHasard(heuresys())
permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5
ResHasard = Hasard(1, Table1..Occurrence)
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par
si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
fin
pour eviter d'avoir les memes (les probalités sont ce quelles sont et on
peux avoir le mem tirage)
evite d'avoir le meme tirage dans la liste on aura aucun doublon
lh est un entier = 1 InitHasard() Tantque Ih <= 5 ResHasard = Hasard(1, Table1..Occurrence) si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) lh++ fin Temporisation(125) // pour dépasser 1 seconde FIN
on reste sur le tantque on a pas ajouter une valeur dans la liste
bon dev @+
Firetox
"Firetox" a écrit dans le message de news:4abe6090$0$16779$
Bonjour,
InitHasard()
initHasard(heuresys()) permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5 ResHasard = Hasard(1, Table1..Occurrence) ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) fin pour eviter d'avoir les memes (les probalités sont ce quelles sont et on peux avoir le mem tirage) evite d'avoir le meme tirage dans la liste on aura aucun doublon
bon dev @+
GpEp
Merci infiniment à vous deux et particulièrement à Firetox Cordialement
Firetox a exprimé avec précision :
oups un coup de doigts sur enter avant la fin
lh est un entier = 1 InitHasard() Tantque Ih <= 5 ResHasard = Hasard(1, Table1..Occurrence) si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) lh++ fin Temporisation(125) // pour dépasser 1 seconde FIN
on reste sur le tantque on a pas ajouter une valeur dans la liste
bon dev @+
Firetox
"Firetox" a écrit dans le message de news:4abe6090$0$16779$
Bonjour,
InitHasard()
initHasard(heuresys()) permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5 ResHasard = Hasard(1, Table1..Occurrence) ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) fin pour eviter d'avoir les memes (les probalités sont ce quelles sont et on peux avoir le mem tirage) evite d'avoir le meme tirage dans la liste on aura aucun doublon
bon dev @+
Merci infiniment à vous deux et particulièrement à Firetox
Cordialement
Firetox a exprimé avec précision :
oups un coup de doigts sur enter avant la fin
lh est un entier = 1
InitHasard()
Tantque Ih <= 5
ResHasard = Hasard(1, Table1..Occurrence)
si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
lh++
fin
Temporisation(125) // pour dépasser 1 seconde
FIN
on reste sur le tantque on a pas ajouter une valeur dans la liste
bon dev
@+
Firetox
"Firetox" <firetox@free.fr> a écrit dans le message de
news:4abe6090$0$16779$426a34cc@news.free.fr...
Bonjour,
InitHasard()
initHasard(heuresys())
permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5
ResHasard = Hasard(1, Table1..Occurrence)
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par
si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
fin
pour eviter d'avoir les memes (les probalités sont ce quelles sont et on
peux avoir le mem tirage)
evite d'avoir le meme tirage dans la liste on aura aucun doublon
Merci infiniment à vous deux et particulièrement à Firetox Cordialement
Firetox a exprimé avec précision :
oups un coup de doigts sur enter avant la fin
lh est un entier = 1 InitHasard() Tantque Ih <= 5 ResHasard = Hasard(1, Table1..Occurrence) si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) lh++ fin Temporisation(125) // pour dépasser 1 seconde FIN
on reste sur le tantque on a pas ajouter une valeur dans la liste
bon dev @+
Firetox
"Firetox" a écrit dans le message de news:4abe6090$0$16779$
Bonjour,
InitHasard()
initHasard(heuresys()) permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5 ResHasard = Hasard(1, Table1..Occurrence) ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) fin pour eviter d'avoir les memes (les probalités sont ce quelles sont et on peux avoir le mem tirage) evite d'avoir le meme tirage dans la liste on aura aucun doublon
bon dev @+
patrice
gaffe quand même , si ton "table1..occurence" est trop prés de 5, y plus de chance que ca boucle que de te remplir ton tableau. Pour éviter ce probleme : 1- remplit un tableau "indice" de 1 à table1..occurence 2- et pioche au harsard dedans: indice_hasard=hasard(1,indice..occurence) reshasard=indice[indice_hasard] 3- puis supprime celui que tu as pris pour ne pas le re-piocher tableausupprime(indice,indice_hasard) 4- boucle à l'étape 2 autant que tu veux et indice..occurence>=1
GpEp a écrit :
Merci infiniment à vous deux et particulièrement à Firetox Cordialement
Firetox a exprimé avec précision :
oups un coup de doigts sur enter avant la fin
lh est un entier = 1 InitHasard() Tantque Ih <= 5 ResHasard = Hasard(1, Table1..Occurrence) si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) lh++ fin Temporisation(125) // pour dépasser 1 seconde FIN
on reste sur le tantque on a pas ajouter une valeur dans la liste
bon dev @+
Firetox
"Firetox" a écrit dans le message de news:4abe6090$0$16779$
Bonjour,
InitHasard()
initHasard(heuresys()) permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5 ResHasard = Hasard(1, Table1..Occurrence) ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) fin pour eviter d'avoir les memes (les probalités sont ce quelles sont et on peux avoir le mem tirage) evite d'avoir le meme tirage dans la liste on aura aucun doublon
bon dev @+
gaffe quand même , si ton "table1..occurence" est trop prés de 5, y plus
de chance que ca boucle que de te remplir ton tableau.
Pour éviter ce probleme :
1- remplit un tableau "indice" de 1 à table1..occurence
2- et pioche au harsard dedans:
indice_hasard=hasard(1,indice..occurence)
reshasard=indice[indice_hasard]
3- puis supprime celui que tu as pris pour ne pas le re-piocher
tableausupprime(indice,indice_hasard)
4- boucle à l'étape 2 autant que tu veux et indice..occurence>=1
GpEp a écrit :
Merci infiniment à vous deux et particulièrement à Firetox
Cordialement
Firetox a exprimé avec précision :
oups un coup de doigts sur enter avant la fin
lh est un entier = 1
InitHasard()
Tantque Ih <= 5
ResHasard = Hasard(1, Table1..Occurrence)
si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1
alors
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
lh++
fin
Temporisation(125) // pour dépasser 1 seconde
FIN
on reste sur le tantque on a pas ajouter une valeur dans la liste
bon dev
@+
Firetox
"Firetox" <firetox@free.fr> a écrit dans le message de
news:4abe6090$0$16779$426a34cc@news.free.fr...
Bonjour,
InitHasard()
initHasard(heuresys())
permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5
ResHasard = Hasard(1, Table1..Occurrence)
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par
si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors
ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
fin
pour eviter d'avoir les memes (les probalités sont ce quelles sont et
on peux avoir le mem tirage)
evite d'avoir le meme tirage dans la liste on aura aucun doublon
gaffe quand même , si ton "table1..occurence" est trop prés de 5, y plus de chance que ca boucle que de te remplir ton tableau. Pour éviter ce probleme : 1- remplit un tableau "indice" de 1 à table1..occurence 2- et pioche au harsard dedans: indice_hasard=hasard(1,indice..occurence) reshasard=indice[indice_hasard] 3- puis supprime celui que tu as pris pour ne pas le re-piocher tableausupprime(indice,indice_hasard) 4- boucle à l'étape 2 autant que tu veux et indice..occurence>=1
GpEp a écrit :
Merci infiniment à vous deux et particulièrement à Firetox Cordialement
Firetox a exprimé avec précision :
oups un coup de doigts sur enter avant la fin
lh est un entier = 1 InitHasard() Tantque Ih <= 5 ResHasard = Hasard(1, Table1..Occurrence) si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) lh++ fin Temporisation(125) // pour dépasser 1 seconde FIN
on reste sur le tantque on a pas ajouter une valeur dans la liste
bon dev @+
Firetox
"Firetox" a écrit dans le message de news:4abe6090$0$16779$
Bonjour,
InitHasard()
initHasard(heuresys()) permet de ne pas avoir la meme sequence a chaque lancement
POUR Ih = 1 A 5 ResHasard = Hasard(1, Table1..Occurrence) ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d"))
a remplacer par si listeCherche(liste1,NumériqueVersChaîne(ResHasard, "05d") = -1 alors ListeAjoute(Liste1,NumériqueVersChaîne(ResHasard, "05d")) fin pour eviter d'avoir les memes (les probalités sont ce quelles sont et on peux avoir le mem tirage) evite d'avoir le meme tirage dans la liste on aura aucun doublon