Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<math.h>
- void estrazione(int [], int [], int);
- void vincite( void (*)(int [], int [], int), int [], int [], int[], int[], int );
- void estrazione( int estratti[], int tester[], int i ){
- int n;
- estratti[i]=lrand48()%90+1;
- tester[i]=estratti[i];
- for(n=i-1; n>0; n--){
- while(estratti[i]==tester[n]){
- estratti[i]=lrand48()%90+1;
- }
- }
- }
- void vincite( void (*f)(int [], int [], int), int giocati[], int estratti[], int tester[], int vittorie [], int n){
- int i, j, num=0;
- for(i=0; i<n; i++){
- f( giocati, tester, i );
- }
- for(i=0; i<n; i++){
- for(j=0; j<n; j++){
- if(giocati[i]==estratti[j]){
- num++;
- }
- }
- }
- if(num>=3){
- printf("La giocata vincente è stata: \n");
- for(i=0; i<n; i++){
- printf("%d ", giocati[i]);
- }
- printf("\n");
- if(num==3){
- vittorie[0]++;
- }
- if(num==4){
- vittorie[1]++;
- }
- if(num==5){
- vittorie[2]++;
- }
- if(num==6){
- vittorie[3]++;
- }
- }
- }
- main(){
- int estratti[6]={0}, giocati[6]={0}, tester[6]={0}, vittorie[4]={0}, N, i;
- srand48(time(0));
- printf("Il programma simula il gioco del superenalotto, nel quale, per vincere, devono essere indovinati almeno 3 numeri di una sestina composta da interi compresi tra 1 e 90./n");
- printf("Prima di iniziare a giocare ho bisogno che tu inserisca il numero N di giocate che vuoi effettuare. Bada bene, N deve essere compreso tra 10 e 10000.\n N = ");
- scanf("%d", &N);
- while(N<10 || N>10000){
- printf("Il valore di N è errato! Reinseriscilo! \n N = ");
- scanf("%d", &N);
- }
- printf("La sestina vincente è: \n");
- for(i=0; i<6; i++){
- estrazione( estratti, tester, i );
- printf("%d ", estratti[i]);
- }
- printf("\n");
- for(i=0; i<N; i++){
- vincite( estrazione, giocati, estratti, tester, vittorie, 6);
- }
- printf("Le terzine vinte sono state %d / %d. \n", vittorie[0], N);
- printf("Le quartine vinte sono state %d / %d. \n", vittorie[1], N);
- printf("Le cinquine vinte sono state %d / %d. \n", vittorie[2], N);
- printf("Le sestine vinte sono state %d / %d. \n", vittorie[3], N);
- }
Advertisement
Add Comment
Please, Sign In to add comment