Hai ragione sky...solo delle volte penso talmente rapidamente, che do per scontato...no ma ho risolto...posto il codice...in pratica l'algoritmo, si fonda sul tirare due dadi 1000 volte, sommare i risultati ottenuti dai due punteggi compresi da 1 a 6...dopodichè, subentrano le regole, ovvero, se la somma è inizialmente un 7 o un 11, cè una vincita secca, se invece dalla somma risulta 2,3 o 12, perdita secca..se dalla somma risultano i restanti numeri si va allo spareggio, ovvero..memorizzare il primo numero uscito, come punteggio del giocatore, ritirare i due dadi finchè si trova il primo numero tirato e allora si vince, oppure esce un 7, e alllora perdita netta.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int dado(void);
main()
{
int lanci[1000] = {0};
int x, y, somma, chiave, counter = 0, verifica;
srand(time(NULL));
for(x = 1; x <= 1000; x++){
somma = dado();
if(somma == 7 || somma == 11){
lanci[x] = -1;
}
else
if(somma == 2 || somma == 3){
lanci[x] = -2;
}
else
if(somma == 12){
lanci[x] = -2;
}
else
counter = 0;
while(counter == 0){
verifica = dado();
if(verifica == somma){
lanci[x] = -3;
counter = 1;
}
else
if(verifica == 7){
lanci[x] = -4;
counter = 1;
}
}
}
for(y = 1; y <= 50; y++){
printf("\n\nLancio[%d] (vincite = -1-perdite = -2): %d", y, lanci[y]);
}
return 0;
}
int dado (void)
{
int risultato1, risultato2, somma;
risultato1 = rand() % 6 + 1;
risultato2 = rand() % 6 + 1;
somma = risultato1 + risultato2;
return somma;
}
Questo è il programma corretto, fatto solo con vettori, senza switch...