Lancio dadi

di il
2 risposte

Lancio dadi

Dunque, mi si chiede di lanciare due dadi. Invocando due volte rand. Calcolare al somma dei due valori, ottenendo somme comprese tra 2 e 12, con 7 come piu frequente, 2 e 12 come - frequenti.
Il programma dovrà lanciarli 36000 volte, e sommare con un vettore unidimensionale il numero delle occorrenze di ogni somma possibile, e determinare anche se i tot sono sensati, ci sono sei modi per ottenere un 7...
dunque codice:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int dado1(void);

int dado2(void);

main()

{
      int somme[12] = {0};
      
      int x, y, z, risultato1, risultato2, somma;
      
      for(x = 0; x < 36000; x++){
        
        risultato1 = dado1();
        
        risultato2 = dado2();
        
        somme[risultato1 + risultato2]++;
      }
      
      for(y = 2; y <= 12; y++)
      
         printf("Somme Vettore[%d] = %d\n", y, somme[y]);
         
         return 0;
         }
         
         
       int dado1(void){
           
           srand(time(NULL));
           
          int valore1;
           
          valore1 = rand() % 6 + 1;
          
          return valore1;
          }
          
       int dado2(void){
           
           int valore2;
           
           srand(time(NULL));
          
          valore2 = rand() % 6 + 1;
          
          return valore2;
          }

il codice dovrebbe essere corretto ed eseguendolo, mi capita una cosa curiosa, la somma della frequenza dei lanci si riversa sempre su un unico vettore, e mi è difficile scrivere qualcosa di sensato, per le somme...

2 Risposte

  • Re: Lancio dadi

    
    srand(time(NULL));
    
    srand va usato una volta per programma non ogni ciclo.
  • Re: Lancio dadi

    Ok...risolto..thank's...
Devi accedere o registrarti per scrivere nel forum
2 risposte