GÉNÉRATEUR DE COMBINAISONS LOTO

Signaler
Messages postés
14813
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 juillet 2021
-
Messages postés
14813
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 juillet 2021
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54444-generateur-de-combinaisons-loto

Messages postés
14813
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 juillet 2021
156
Bonjour,

Je n'ai pas regardé si il y avait encore un risque de doublon, mais voici un exemple de code qui fait ce que tu veux (Code tapé hors EDI, risque d'erreur) :

Dim lRnd As Random()=New Random()
Dim i as Integer
Dim lTmp as integer

Dim lLstNb As List(of Integer)= New List(of Integer)

'Nombre de Nombre à générer
Dim lMaxNb=5

Do While lLstNb.Count<lMaxNb
lTmp=lRnd.Next(1,49)

For i=0 to lLstNb.Count-1
If lLstNb(i)=lTmp Then
Continue Do 'Doublon, on rejette
End If
Next i

lLstNb.Add(lTmp) 'Pas de doublon, on prend
Loop

'Affichage
For i = 1 To 6
Me.Controls("LblNb" & i).Text = (lLstNb(i - 1)).ToString()
Next i
Messages postés
24
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
21 janvier 2014

MAJ
Messages postés
14813
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 juillet 2021
156
Bonsoir,

Toujours faillible :
1 2 3 3 4 5
Bol=True
1 2 3 1 4 5
Bol=False
i=i+1
1 1 2 3 4 5

Car une fois le nombre régénéré, tu passes à la position suivante sans controler les précédentes.

Concernant Option Explicit : http://msdn.microsoft.com/fr-fr/library/y9341s4f.aspx
Strict : http://msdn.microsoft.com/fr-fr/library/zcd4xwzs.aspx

Concernant l'espace de nom, c'est une rétro compatibilité avec du VB6, donc à éviter en .NET, ça n'apporte rien.
Messages postés
24
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
21 janvier 2014

@NHenry : Est ce que tu peux me fournir un lien qui explique l'utilité de ce qui suit :

"1) Actives Option Strict et Oprion Explicit
2) Retires l'import automatique de l'espace de nom Microsoft.VisualBasic
(Pour les 2 premiers points, voir ma signature sur le forum)"

Merci
Afficher les 19 commentaires