Tirage du loto

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 607 fois - Téléchargée 35 fois

Contenu du snippet

ce programme réalise aléatoirement un tirage de 6 numéros par semaine sur un an.
il tri les numéros selon leur fréquence de sortie.
il établit un "hit-parade des 6 numéros les plus sortis

Source / Exemple :


#include<iostream.h>
#include<stdlib.h>
//le loto
//date:18/12/2002
//auteur:fred
main()
{
 int n1,n2,n3,n4,n5,n6,i,j,l,n=1,nombre[50],loto[52][6],frequencemax=0;
 randomize();//reinitialisation de la fonction
 cout<<"affichage des tirages sur l'année : "<<endl;
 cout<<"-----------------------------------"<<endl<<endl;
 for(j=0;j<52;j++)//boucle pour les 52 semaines de l'année
 {
 do
 {
  n1=random(49)+1; //attribution du tirage numéro par numéro pour les comparer et éviter les doublons
  n2=random(49)+1; //+1 pour éviter la valeur 0
  n3=random(49)+1;
  n4=random(49)+1;
  n5=random(49)+1;
  n6=random(49)+1;
 }
 while((n1==n2)||(n1==n3)||(n1==n4)||(n1==n5)||(n1==n6)||(n2==n3)||(n2==n4)||(n2==n5)||(n2==n6)||(n3==n4)||(n3==n5)||(n3==n6)||(n4==n5)||(n4==n6)||(n5==n6));
 loto[j][0]=n1; // les numéros sont tirés sans doublons et sans zéro
 loto[j][1]=n2; // on les range dans le tableau loto
 loto[j][2]=n3;
 loto[j][3]=n4;
 loto[j][4]=n5;
 loto[j][5]=n6;
 cout<<"semaine "<<j+1<<" : ";
 for(i=0;i<6;i++)
 {
  cout<<loto[j][i]<<" "; //affichage du tableau
 }
 cout<<endl;
 }
 cout<<endl;
 cout<<"affichage des chiffres et de leur fréquence de sortie: "<<endl;
 cout<<"------------------------------------------------------"<<endl<<endl;
 for(l=0;l<50;l++) //boucle pour les chiffres sortis de 1 à 49
 {
  nombre[l]=0;     //initialisation du tableau
 }
 for(l=1;l<50;l++)  // pour chiffre 1 à chiffre 49
 {
  for(j=0;j<52;j++)
  {
	 for(i=0;i<6;i++)
	 {
	  if(loto[j][i]==l) //boucle qui donne le nombre de sortie d'un meme chiffre
	  {
		nombre[l]=nombre[l]+1;
	  }
	 }
  }
  cout<<"le nombre "<<l<<" est sorti "<<nombre[l]<<" fois"<<endl;
 }
 cout<<endl;
 for(l=0;l<50;l++)   //determination du nombre de sortie maximale d'un chiffre
 {
  if (frequencemax<=nombre[l])
  {

	frequencemax=nombre[l];
	}
  }
  //affichage de la frequence maximale
  cout<<"la sortie maximale d'un chiffre est: "<<frequencemax<<endl<<endl;
  cout<<"hit-parade des sorties: "<<endl;
  cout<<"-----------------------"<<endl<<endl;
  while(n<=6)
  {
  for(l=0;l<50;l++)
  {
	if(nombre[l]==frequencemax)
	{
	 cout<<"le chiffre "<<l<<" est sorti "<<frequencemax<<" fois"<<endl;
	 n=n+1;
	}
  }
  frequencemax=frequencemax-1;
 }
}

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
lundi 20 août 2012
Statut
Membre
Dernière intervention
20 août 2012

salut ! félicitation
Messages postés
1
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
29 juillet 2008

Très bien!
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

il faudrait marquer une pause car tout ne tient pas sur l'ecran standard (getch() <conio.h> ou <conio.c> devc++)
random(),randomize(); ne marchent pas partout (les compilateurs)
srand((unsigned) time(NULL)); <stdlib.h> et <time.h>
n1=rand() % (49)+1;
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

salut,
tu devrais utiliser des variables globales comme
const int NUMERO_MAX = 50
const int NBRE_NUMEROS = 6
pour faciliter les eventuelles modifications
frequencemax=frequencemax-1 peut être remplacé par
frequencemax -= 1
n=n+1; .....> n++;

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.