Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1623 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  randomize ? ou condition foireuse

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

randomize ? ou condition foireuse

n°1859019
Toon58
Posté le 08-03-2009 à 17:23:09  profilanswer
 

Code :
  1. Imports System.Threading
  2. Module Module1
  3.     Sub Main()
  4.         Dim nombre, de1, de2, de3, de4, de5, de6, cpt As Integer
  5.         Randomize()
  6.         Console.WriteLine("Simulation de lancer de 6 dés" )
  7.         Console.WriteLine("Combien de fois voulez vous simuler le lancé de 6 dés ?" )
  8.         nombre = Console.ReadLine()
  9.         While nombre > 0
  10.             de1 = 1 + Rnd() * 6
  11.             de2 = 1 + Rnd() * 6
  12.             de3 = 1 + Rnd() * 6
  13.             de4 = 1 + Rnd() * 6
  14.             de5 = 1 + Rnd() * 6
  15.             de6 = 1 + Rnd() * 6
  16.             nombre -= 1
  17.             Console.WriteLine("tirage numéro {0} en cours ", nombre)
  18.             'Console.Write(" {0} {1} {2} {3} {4}{5}", de1, de2, de3, de4, de5, de6)
  19.             If de1 = de2 = de3 = de4 = de5 = de6 Then
  20.                 cpt = cpt + 1
  21.             End If
  22.         End While
  23.         Console.WriteLine("Les dés ont tous eu la même valeur {0} fois", cpt)
  24.         Thread.Sleep(2000)
  25.     End Sub
  26. End Module


 
voici un algorithme tout con que j'avais en C et que j'ai passé en Vb
Problème : Même sur 1000000 tirages, je n'obtiens jamais tous les dés égaux, alors que le même algorithme en C me donne environ 130 fois les dés tous égaux. :aie:
 
Quelqu'un peut t'il m'aider ? Je débute en Vb (2008) (Comme si cela ne se voyait pas :mouarf: )

mood
Publicité
Posté le 08-03-2009 à 17:23:09  profilanswer
 

n°1859096
billgatesa​nonym
Posté le 08-03-2009 à 22:12:11  profilanswer
 

Citation :

If de1 = de2 = de3 = de4 = de5 = de6 Then

Je n'ai jamais utilisé cette syntaxe compacte en VB, donc j'ai un doute. A la place, j'écrirais :

If de1 = de2 and de2 = de3 and de3 = de4 and de4 = de5 and de5 = de6 Then

C'est un chouia plus long, mais pas tant que ça, et et c'est une programation traditionnelle moins risquée.
 
D'autre part, la variable cpt n'est pas initialisée explicitement. Bon on peut penser que VB le fera tout seul, mais l'intialiser ne demande pas beaucoup d'effort et cela évite de prendre un autre risque.

n°1859104
Toon58
Posté le 08-03-2009 à 22:21:54  profilanswer
 

Ok, merci
Mauvaise habitude de C :/

n°1859312
kao98
...
Posté le 09-03-2009 à 14:23:21  profilanswer
 

Pourquoi ne pas utiliser un tableau de dés plutôt que 6 variables différentes !?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  randomize ? ou condition foireuse

 

Sujets relatifs
VBS-condition-logique identique-résultat différentselect d'une ligne entière à partir d'une condition
Copie d'une cellule d'un classeur vers un autre sous conditionCopier des cellules sous condition avec boucle
Problème avec condition dans script batchvalidation d'un form avec condition 1 et/ou 2
Modification de code PHP pour ajouter une conditionEXCEl : Condition SI ==> Regroupez des pays selon un Code
[SQL]Probleme de condition sur un SELECT 
Plus de sujets relatifs à : randomize ? ou condition foireuse


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR