View Full Version : random C++
enrico.pix
15-07-2010, 12:45
devo assegnare a 4 variabili 4 valori random diversi, non contemporaneamente ma solo se degli if vengono verificati, che devono anche cambiare ad ogni step di un ciclo for...
il semplice rand() non basta, in quanto questo valore rimane tale per tutta l'esecuzione del programma...
Prima inizializzi il generatore in questo modo
srand ( time(NULL) );
dopodichè puoi generare il tuo numero random all'interno del ciclo
for( ... )
randomNumber = rand() % 10;
In questo modo ad ogni iterazione ottieni un numero diverso.
enrico.pix
15-07-2010, 14:30
Prima inizializzi il generatore in questo modo
srand ( time(NULL) );
dopodichè puoi generare il tuo numero random all'interno del ciclo
for( ... )
randomNumber = rand() % 10;
In questo modo ad ogni iterazione ottieni un numero diverso.
avevo già provato così, però non va :\
srand ( time(NULL) );
for(i=0;i<100;i++)
{
random[0]=rand();
if (random[1]<catcha)
{
random[1]=rand();
if (random[1]<catcha)
{
random[2]=rand();
if (random[2]<catcha)
{
random[3]=rand();
if (random[3]<catcha)
{
preso+=1;
}
}
}
}
}
A me sembra molto strano. Comunque senza sapere cosa deve fare il tuo programma mi sembra tu abbia sbagliato nel primo IF a scrivere random[1] anzichè random[0].
devo assegnare a 4 variabili 4 valori random diversi, non contemporaneamente ma solo se degli if vengono verificati, che devono anche cambiare ad ogni step di un ciclo for...
il semplice rand() non basta, in quanto questo valore rimane tale per tutta l'esecuzione del programma...
perchè non hai inizializzato il generatore di numeri casuali,
all'inizio del programma inizializza il generatore e vedrai che a ogni chiamata del rand() ti darà un numero diverso
anni fà sul borland c'era la funzione randomize adesso non sò è da parecchio che non uso i random
enrico.pix
16-07-2010, 01:07
A me sembra molto strano. Comunque senza sapere cosa deve fare il tuo programma mi sembra tu abbia sbagliato nel primo IF a scrivere random[1] anzichè random[0].
si, questo l'ho corretto...
come si inizializza il generatore di numeri random?
comunque il programma dovrebbe simulare una "fase" di un gioco. Questa parte prevede, dopo il calcolo di un valore, che ho chiamato catcha, di confrontare questo con un valore random. Se è minore lo confronta con un altro valore random, così fino a che non è stato confrontato con 4 valori random. Se è risultato minore anche del 4, aumenta il valore di una variabile, che serve, alla fine, a calcolare la percentuale.
enrico.pix
16-07-2010, 13:35
risolto, bastava correggere il primo if, come detto da onassis :stordita:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.