Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    somma lancio di due dadi

    Salve ho implementato questo codice che lancia 2 dadi e si ottegono 2 risultati che vengono visualizzatti da video, ma non so come posso fare per sommare questi due risultari e visulaizzare la somma. L'altro problema che ho è che quando si lanciano i dadi sempre vengono due numeri uguali, es: 2 2, 4 4, 6 6 e cosi via, vorrei sapere come fare a dare ad ogni dado un valore diverso.
    grazie, in attessa di risposta
    Marcos





    codice:
    # include <iostream>
    #include <cstdlib>
    #include <time.h>
    using namespace std;
    
    int lanciadadi ( );
    
    
    int main ()
    {
     int risultato1=lanciadadi();
     int risultato2=lanciadadi();
    
    
     
    
    system ("pause");
    return 0;    
        
    }
    
    int lanciadadi ()
    {
        int somma;   
        srand (time(0));//inizializza il generatore 
        int risultato=rand ()%6+1;//genera un numero casuale fra 0 e 5
        cout<<risultato<<' ';
     
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326

    Re: somma lancio di due dadi

    Originariamente inviato da marcos666
    Salve ho implementato questo codice che lancia 2 dadi e si ottegono 2 risultati che vengono visualizzatti da video, ma non so come posso fare per sommare questi due risultari e visulaizzare la somma.
    Scusa qual è il problema? Si tratta di fare una somma tra due variabili e stamparla...

    Originariamente inviato da marcos666
    L'altro problema che ho è che quando si lanciano i dadi sempre vengono due numeri uguali, es: 2 2, 4 4, 6 6 e cosi via, vorrei sapere come fare a dare ad ogni dado un valore diverso.
    Il problema è che inizializzi il generatore pseudocasuale ad ogni chiamata della funzione lanciadadi() utilizzando la funzione time(): questa restituirà quasi sempre lo stesso valore in quanto le due chiamate a funzione avvengono in un intervallo di tempo troppo piccolo perché questo valore possa essere diverso, con la conseguenza che il generatore viene inizializzato due volte con lo stesso valore e quindi i numeri generati risultano uguali. Inizializzalo una sola volta richiamando srand() all'interno di main() prima delle due chiamate a lanciadadi().
    every day above ground is a good one

  3. #3
    si, si tratta di prendere quei due valori che si sono creati casualmente, sommarli ed immagazzinarli in una variabile per poi poterla stampare.
    grazie per la precisione della risposta di perche si creano due numeri uguali.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    131
    stai attento che nella funzione lanciadadi non ritorna nessun valore..
    perciò le variabili risultato1 e risultato2 nella main avranno valori sbagliati

  5. #5
    Ciao,
    qualche tempo fa avevo creato un piccolo snippet di codice per calcolare la somma di due dadi generati in modo piu o meno casuale:

    codice:
    #include <iostream>
    #include <ctime>
    #include <cstdlib>
    
    using namespace std;
    
    int main() {
    
        srand(time(NULL));
        int d1, d2, somma;
    
        for (int i = 0; i < 10; i++) {
            d1 = rand()%6+1;
            d2 = rand()%6+1;
    
            somma = d1 + d2;
    
            cout << "Dado 1: " << d1 << "\t Dado 2: " << d2 << "\t Somma Dadi: " << somma << endl;
        }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.