Comment generer pour chaque resultat un fichier

Résolu
pierro31100
Messages postés
6
Date d'inscription
vendredi 13 octobre 2017
Statut
Membre
Dernière intervention
27 novembre 2017
- Modifié le 13 oct. 2017 à 18:57
pierro31100
Messages postés
6
Date d'inscription
vendredi 13 octobre 2017
Statut
Membre
Dernière intervention
27 novembre 2017
- 27 nov. 2017 à 22:07
bonjour je voudrai savoir comment generer avec ce code source un fichier pour chaque resultat.voici le code

#include <stdio.h>
#define nb_boules 50
int main(void) {
 int i,j,k,m,n,p;

 FILE * fichier; 
 fichier=fopen("resultats.txt","w"); 
 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); 
 fclose(fichier);
 printf("Le programme a termine. Fin;)\n\n");
 return 0;
}


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

6 réponses

vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151
Modifié le 13 oct. 2017 à 23:43
Bonsoir
J'espère ne pas me tromper mais .........
Te rends-tu compte que ceci va te générer 15 890 700 combinaisons ( testé en VB Net ) donc plus de 15 millions de fichiers sur ton Pc !!!!!


Dim Nb As Long = 0
Dim Nombre As Integer = 50
For i = 1 To Nombre - 5 ' for(i=1;i<=Nombre-5;i++)
For j = i + 1 To Nombre - 4
For k = j + 1 To Nombre - 3
Application.DoEvents()
For m = k + 1 To Nombre - 2
For n = m + 1 To Nombre - 1
For p = n + 1 To Nombre
Nb = Nb + 1
Next
Next
Next
Next
Next
Next
MessageBox.Show(Nb.ToString) ' nombre de combinaisons

et avec un seul fichier texte avec une combinaison par ligne avec un tiret entre chaque chiffre ceci te donne un fichiers texte de 220 megaoctets et des poussières ( pas fait le calcul exact)
1-2-3-4-5-6
1-2-3-4-5-7
1-2-3-4-5-8
1-2-3-4-5-9
1-2-3-4-5-10
etc .....


2-3-4-5-6-7
2-3-4-5-6-8
2-3-4-5-6-9
etc......

46-47-48-49-50 ( dernière combinaison)

Cas particulier du loto
Pour calculer la probabilité de trouver 6 numéros au loto, il suffit de trouver combien il existe de séries non ordonnées de 6 nombres choisis parmi 49. On trouve :
(44 x 45 x 46 x 47 x 48 x 49) / (6 x 5 x 4 x 3 x 2)
soit 13 983 816.

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. 
0
pierro31100
Messages postés
6
Date d'inscription
vendredi 13 octobre 2017
Statut
Membre
Dernière intervention
27 novembre 2017

15 oct. 2017 à 15:48
bonjour vb95 peut tu m integrer l ouverture des fichiers automatique.je compte l utiliser pour un petit nombre de fichier.je te remercie d avance
0
vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151
15 oct. 2017 à 15:55
bonjour
Je ne connais pas grand chose en C++ ( je pratique plutôt Vb Net et un peu le C#)
Je t'ai répondu pour te mettre en garde contre le nombre énorme de fichiers que cela allait créer
Je ne puis t'aider pour ta demande proprement dite
D&solé
0
pierro31100
Messages postés
6
Date d'inscription
vendredi 13 octobre 2017
Statut
Membre
Dernière intervention
27 novembre 2017

26 nov. 2017 à 20:21
bonjour vb95 j ai tester le code vb net mais il ne marche pas..est til complet merci d avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151
Modifié le 26 nov. 2017 à 20:51
bonjour
Le code VB Net fonctionne très bien
La preuve en image



La Messagebox en bas à droite m'affiche bien le nombre total de combinaisons que j'ai indiqué dans mon premier message
Clique sur l'image pour l'agrandir

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. 
0
pierro31100
Messages postés
6
Date d'inscription
vendredi 13 octobre 2017
Statut
Membre
Dernière intervention
27 novembre 2017

27 nov. 2017 à 17:37
oui en effet c'est moi,si tu peus me le mettre en texte pour que je le copie coller merci
0
vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151 > pierro31100
Messages postés
6
Date d'inscription
vendredi 13 octobre 2017
Statut
Membre
Dernière intervention
27 novembre 2017

27 nov. 2017 à 19:01
Bonjour
Tu peux le copier-coller dans mon premier message
0
pierro31100
Messages postés
6
Date d'inscription
vendredi 13 octobre 2017
Statut
Membre
Dernière intervention
27 novembre 2017

27 nov. 2017 à 20:59

j'ai une erreur je suis nul en vb net
0
Whismeril
Messages postés
17326
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2022
596
27 nov. 2017 à 21:28
Bonsoir,

à l'instar de C++, en VB.Net, le code exécutable est écrit dans une méthode.
Pour tester son exemple, VB95 a mis la partie utile du code, dans une méthode abonnée à l'événement click d'un bouton, lui-même placé sur un formulaire (sur la photo, pas dans le code plus haut).
Si ton compilateur en ligne n'a pas ce formulaire, ni ce bouton sous la main, ça plante forcément. (Je n'ai pas envie de me créer un compte juste pour essayer).
En plus il se sert de Mono, il peut y avoir des subtilité entre cette framework et l'originale.
Je l'ai testé sur un autre compilateur en ligne (sans login et gratuit), il m'a fallut le modifier légèrement.
 Dim Nb As Long = 0
 Dim Nombre As Integer = 50
 Dim i,j,k,l,m,n,p as Integer
 For i = 1 To Nombre - 5  ' for(i=1;i<=Nombre-5;i++)
    For j = i + 1 To Nombre - 4
        For k = j + 1 To Nombre - 3
            'Application.DoEvents()
            For m = k + 1 To Nombre - 2
                For n = m + 1 To Nombre - 1
                    For p = n + 1 To Nombre
                       Nb = Nb + 1
                    Next
                Next
            Next
        Next
    Next
Next
'MessageBox.Show(Nb.ToString) 
'Your code goes here
Console.WriteLine(Nb.ToString)





Par défaut, pour tester un code VB.Net écrit avec Visual Studio, il vaut mieux Visual Studio, il existe des versions gratuite (Express et Community). Mais au final je ne voie pas à quoi ça va t'avancer, tu peux écrire exactement la même boucle avec C++
0
pierro31100
Messages postés
6
Date d'inscription
vendredi 13 octobre 2017
Statut
Membre
Dernière intervention
27 novembre 2017

27 nov. 2017 à 22:07
merci
0