Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : tous les chiffres du générateur aléatoire ? [ Archives Visual Basic / Maths ] (neo12)

lundi 24 juin 2002 à 15:53:44 | tous les chiffres du générateur aléatoire ?

neo12

Bonjour,
j'ai un petit pb...
voiçi le postulat :
j'utilise une instruction PAINTPICTURE pour faire apparaître une image par mosaïque (l'image se remplit par petits rectangles placés de façon aléatoire jusqu'à remplir tout l'image. (10.000 rectangles)
Pour cela j'ai crée une fonction qui tire les coordonnées X et Y d'un nombre généré de façon aléatoire par Rnd (de 0 à 10.000) précédé de Randomize mis dans une boucle fon/Next allant jusqu'à 10.000 (nombre de coordonnées à utiliser)
problème :
La fonction randomize ne tirant que certains chiffres elle arrive en haut de la fourchette max avant d'avoir généré 10.000 nombres...et elle
repart du bas de la fourchette (puisque la boucle for/next n'est pas fini).
En faisant ça elle renvoit des fois des nombre déjà généré au permier "passage".
Donc quand ma boucle for/next se termine certaines coordonnées ont été tirés 2 fois minimum et certaines zéro.
Solution ?
Comment obliger le gestionnaire de nombre aléatoire à tirer tous les chiffres dans la fourchette de 0 à 10.000 (sans donc reprendre des nombres déjà tirés)
...ouf voilà si vous avez pigé le pb merci de me faire part de vos lumières

A+

mercredi 28 août 2002 à 17:46:38 | Re : tous les chiffres du générateur aléatoire ?

Slan

Salut neo12,

pour ton problème utilise un tableau qui représente ton écran de rectangle
Il y a en tout 10.000 rectangle à placer donc, on peut supposer que c'est pour une image de 100 sur 100 rectangles
voici le code que je te propose :

On Error Resume Next
Dim x, y, Cpt, Tabl(100,100)
cpt=0
Randomize Timer
Do
x = Fix(100 * rnd)
y = Fix(100 * rnd)
If Tabl(x,y) <> 1 then
Cpt = Cpt + 1
Tabl(x, y) = 1
[Instru pr placer ton rectangle...]
End if
Loop until Cpt >= 10000

Voila! si tu as d'autre questions mail-moi
Morphos@gmx.fr

-------------------------------
Réponse au message :
-------------------------------

Bonjour,
j'ai un petit pb...
voiçi le postulat :
j'utilise une instruction PAINTPICTURE pour faire apparaître une image par mosaïque (l'image se remplit par petits rectangles placés de façon aléatoire jusqu'à remplir tout l'image. (10.000 rectangles)
Pour cela j'ai crée une fonction qui tire les coordonnées X et Y d'un nombre généré de façon aléatoire par Rnd (de 0 à 10.000) précédé de Randomize mis dans une boucle fon/Next allant jusqu'à 10.000 (nombre de coordonnées à utiliser)
problème :
La fonction randomize ne tirant que certains chiffres elle arrive en haut de la fourchette max avant d'avoir généré 10.000 nombres...et elle
repart du bas de la fourchette (puisque la boucle for/next n'est pas fini).
En faisant ça elle renvoit des fois des nombre déjà généré au permier "passage".
Donc quand ma boucle for/next se termine certaines coordonnées ont été tirés 2 fois minimum et certaines zéro.
Solution ?
Comment obliger le gestionnaire de nombre aléatoire à tirer tous les chiffres dans la fourchette de 0 à 10.000 (sans donc reprendre des nombres déjà tirés)
...ouf voilà si vous avez pigé le pb merci de me faire part de vos lumières

A+


mercredi 28 août 2002 à 17:50:10 | Re : tous les chiffres du générateur aléatoire ?

Slan

Salut neo12,

pour ton problème utilise un tableau qui représente ton écran de rectangle
Il y a en tout 10.000 rectangle à placer donc, on peut supposer que c'est pour une image de 100 sur 100 rectangles
voici le code que je te propose :

On Error Resume Next
Dim x, y, Cpt, Tabl(100,100)
cpt=0
Randomize Timer
Do
x = Fix(100 * rnd)
y = Fix(100 * rnd)
If Tabl(x,y) <> 1 then
Cpt = Cpt + 1
Tabl(x, y) = 1
[Instru pr placer ton rectangle...]
End if
Loop until Cpt >= 10000

Voila! si tu as d'autre questions mail-moi
Morphos@gmx.fr
-------------------------------
Réponse au message :
-------------------------------

Bonjour,
j'ai un petit pb...
voiçi le postulat :
j'utilise une instruction PAINTPICTURE pour faire apparaître une image par mosaïque (l'image se remplit par petits rectangles placés de façon aléatoire jusqu'à remplir tout l'image. (10.000 rectangles)
Pour cela j'ai crée une fonction qui tire les coordonnées X et Y d'un nombre généré de façon aléatoire par Rnd (de 0 à 10.000) précédé de Randomize mis dans une boucle fon/Next allant jusqu'à 10.000 (nombre de coordonnées à utiliser)
problème :
La fonction randomize ne tirant que certains chiffres elle arrive en haut de la fourchette max avant d'avoir généré 10.000 nombres...et elle
repart du bas de la fourchette (puisque la boucle for/next n'est pas fini).
En faisant ça elle renvoit des fois des nombre déjà généré au permier "passage".
Donc quand ma boucle for/next se termine certaines coordonnées ont été tirés 2 fois minimum et certaines zéro.
Solution ?
Comment obliger le gestionnaire de nombre aléatoire à tirer tous les chiffres dans la fourchette de 0 à 10.000 (sans donc reprendre des nombres déjà tirés)
...ouf voilà si vous avez pigé le pb merci de me faire part de vos lumières

A+




Cette discussion est classé dans : nombre, aléatoire, chiffres, image, coordonnées


Répondre à ce message

Sujets en rapport avec ce message

nombre aléatoire [ par inconnu24 ] je veux créer des nombres aléatoires de 12 digits qui sont stocké dans une base de donné. chaque fois que je fais la création, il faut vérifier qu'un Vraiment aléatoire ? [ par Niaphron ] Bonjour, je voudrais savoir quand un on à 2 ordianteurs qui tire un nombre aléatoire à la mm heure, mm minute et mm seconde, est-ce-que les 2 ordi tir Compter le nombre de ligne dans une image [ par lvkenny ] Je voudrais savoir si il y avait un moyen de compter le nombre de ligne dans une image bmp ou jpg et si il y avait un moyen de les décaler?MerciKenny Nombre aléatoire, réelement... [ par yobogs ] Bonjour, j'utilise cette fonction Int(2000 * Rnd + 1) pour génèrer un entier aléatoire entre 1 et 2000.Or je me rends compte que lorsque je lance mo Comment créer un nombre VRAIMENT aléatoire? [ par wbartw ] En effet, la ligne de code "variable = Int((borne supérieure - borne inférieure + 1) * Rnd + borne inférieure)" retourne une suite de valeurs qui est Nombre aléatoire [ par Loïc ] Je voudrais juste savoir : est-il possible de créer un programme générant un nb aléatoire sans JAMAIS utiliser la fonction Rnd ou tout autre fn qui gè Movement aléatoire d'une image [ par ShaoKhan ] Comment faire pour faire bouger une image aléatoirement dans l'écran???? Comment augmenter le nombre de chiffres après la virgule? [ par Olisoft ] Je cherche comment je peux augmenter le nombre de chiffres après la virgule dans un "label" ou un "text" après un calcul. J'arrive seulement à avoir Problème avec des Randomize [ par Vbsupernul ] Bonjour à tous;Voilà, j'ai un truc:Dim nombre As DoubleRandomize Timernombre=(Rnd * 9999999999#)Comment faire pour obliger à trouver un nombre à 10 ch un nombre aléatoire [ par Vbsupernul ] Ben voilà, j'essaye de choisir un nombre aléatoire qui ne se répète jamais. j'ai donc fais cette sub, mais ça fait boguer, ça recommence trop de fois


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.