C++ lacio dadi con relative frequenze non esce il 6

di il
5 risposte

C++ lacio dadi con relative frequenze non esce il 6

/*leggendo in input il numero di volte che un dado
deve essere lanciato, simula questa situazione mediante la generazione di un
numero casuale compreso tra 1 e 6; quindi calcola la frequenza con la quale ciascuna delle sei facce
viene selezionata all'aumentare dei lanci.

#include <iostream>
#include <ctime>
#include <stdlib.h>
using namespace std;
int main(){
int numeroLanci, numeroCasuale;
int temp1=0,temp2=0,temp3=0,temp4=0,temp5=0,temp6=0;
int array[6];
srand(time(NULL));

for(int i=0; i<6; i++){
array = i++;
}

cout << "Quante volte vuoi lanciare il dado? ";
cin >> numeroLanci;
for(int i=0; i<numeroLanci; i++){
numeroCasuale=rand()%6+1;

switch (numeroCasuale)
{
case 1: temp1++ ;
break;
case 2: temp2++ ;
break;
case 3: temp3++ ;
break;
case 4: temp4++ ;
break;
case 5: temp5++ ;
break;
case 6: temp6++ ;
break;
}


}
cout << "Il numero" << array[0] << " e' uscito " << temp1 << " volte" << endl;
cout << "Il numero" << array[1] << " e' uscito " << temp2 << " volte" << endl;
cout << "Il numero" << array[2] << " e' uscito " << temp3 << " volte" << endl;
cout << "Il numero" << array[3] << " e' uscito " << temp4 << " volte" << endl;
cout << "Il numero" << array[4] << " e' uscito " << temp5 << " volte" << endl;
cout << "Il numero" << array[5] << " e' uscito " << temp6 << " volte" << endl;

return 0;
}

5 Risposte

  • Re: C++ lacio dadi con relative frequenze non esce il 6

    Usa il tag code.

    Spiegami il senso di sta roba [CODE] for (int i = 0; i < 6; i++) { array = i++; } Oltre al fatto che non capisco perché buttarci un array per sapere quali numeri ha un dado… boh
  • Re: C++ lacio dadi con relative frequenze non esce il 6

    Che poi l'array dove avresti dovuto farlo non lo hai fatto: temp[numeroCasuale]++ , senza switch
  • Re: C++ lacio dadi con relative frequenze non esce il 6

    _Achille ha scritto:


    Usa il tag code.

    Spiegami il senso di sta roba [CODE] for (int i = 0; i < 6; i++) { array = i++; } Oltre al fatto che non capisco perché buttarci un array per sapere quali numeri ha un dado… boh
    In realtà non lo so, era solo per scrivere array[] , al posto di scrivere direttamente 1, 2, 3, 4 ecc. Lo so che non ha senso e hai ragione. Il fatto è che comunque il 6 non lo legge.
  • Re: C++ lacio dadi con relative frequenze non esce il 6

    P.S Non so come mettere il tag code, non ho ben capito le regole del sito e comunque sono alle prime armi su c++
  • Re: C++ lacio dadi con relative frequenze non esce il 6

    k.cras.k ha scritto:


    Il fatto è che comunque il 6 non lo legge.
    Se fai cose a caso certo che comunque non funziona. Hai fatto i++ due volte in quel for.

    Usa il pulsante < / > per il codice.

    Comincia a fare
    
    int array[6] = {0};
    
    cout << "Quante volte vuoi lanciare il dado? ";
    cin >> numeroLanci;
    for(int i=0; i<numeroLanci; i++)
        array[rand()%6]++;
    
    Poi ragionaci su un po' e completa l'esercizio
Devi accedere o registrarti per scrivere nel forum
5 risposte