Prog Loto

OneManShow Messages postés 10 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 11 juillet 2004 - 25 juin 2004 à 17:04
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 25 juin 2004 à 18:01
J'ai trouvé un programme en C permettant de generer toutes les combinaisons possibles du loto Francais a 6 chiffres.
J'ai essayé de l'adapter a VB6 mais ca marche pas.
Si kelkun pourrait m'aider ce serait bienvenu

Voici le prog en C :
Nb_boules=49
printf("Debut du programme\nPatientez...\n\n");

for(i=1;i<=nb_boules-5;i++)
for(j=i+1;j<=nb_boules-4;j++)
for(k=j+1;k<=nb_boules-3;k++)
for(m=k+1;m<=nb_boules-2;m++)
for(n=m+1;n<=nb_boules-1;n++)
for(p=n+1;p<=nb_boules;p++)
fprintf(fichier,"%d %d %d %d %d %d\n",i,j,k,m,n,p); /* on ecrit les combinaisons dans le fichier */

fclose(fichier);
printf("Le programme a termine. Fin;)\n\n");
return 0;

voici le mien en VB

For i = 1 To 44
For j = (i + 1) To 45
For k = (j + 1) To 46
For m = (k + 1) To 47
For n = (m + 1) To 48
For p = (n + 1) To 49
p = p + 1
Print #1, i, j, k, m, n, p
Next
n = n + 1
Next
m = m + 1
Next
k = k + 1
Next
j = j + 1
Next
i = i + 1
Next
Close #1
MsgBox ("end prog")

End Sub

Je n'obtiens que 592000 combinaisons au lieu des 13 millions et quelques que je devrais obtenir :(

2 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
25 juin 2004 à 17:32
Forcément : tu incrémente i, j, k, etc. alors que tu n'en a pas besoin : VB le fait automatiquement dans ses boucles For.

Donc ca donne cà :

For i = 1 To 44
For j = (i + 1) To 45
For k = (j + 1) To 46
For m = (k + 1) To 47
For n = (m + 1) To 48
For p = (n + 1) To 49
p = p + 1
Print #1, i, j, k, m, n, p
Next
Next
Next
Next
Next
Next
Close #1
MsgBox ("end prog")

End Sub


Note, pour ce genre de calcul, il vaudrait mieux utilise un appel à une fonction, car autant de boucle for imbriquée, c'est pas très lisible !

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
25 juin 2004 à 18:01
Tu sais que le nb de combinaisons c:
49/6*48/5*47/4*46/3*45/2*44/1 = 13 983 816
ça va t'en faire des enreg ds ton fichier ! :-))

Cordialement

CanisLupus
0