Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-07-2010, 12:45   #1
enrico.pix
Senior Member
 
Iscritto dal: May 2008
Città: Messina
Messaggi: 548
random C++

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...
__________________
Cosa c'è in tv? corto sulla tv trash!
Concluse le trattative di vendita/scambio positivamente con Ares17, gigarobot, Ale29, Amiga1200 e manga81
conclusa la trattativa di acquisto positivamente con rambdco.
enrico.pix è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2010, 14:21   #2
oNaSsIs
Member
 
L'Avatar di oNaSsIs
 
Iscritto dal: Apr 2007
Messaggi: 182
Prima inizializzi il generatore in questo modo
Codice:
srand ( time(NULL) );
dopodichè puoi generare il tuo numero random all'interno del ciclo
Codice:
for( ... )
    randomNumber = rand() % 10;
In questo modo ad ogni iterazione ottieni un numero diverso.
oNaSsIs è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2010, 14:30   #3
enrico.pix
Senior Member
 
Iscritto dal: May 2008
Città: Messina
Messaggi: 548
Quote:
Originariamente inviato da oNaSsIs Guarda i messaggi
Prima inizializzi il generatore in questo modo
Codice:
srand ( time(NULL) );
dopodichè puoi generare il tuo numero random all'interno del ciclo
Codice:
for( ... )
    randomNumber = rand() % 10;
In questo modo ad ogni iterazione ottieni un numero diverso.
avevo già provato così, però non va :\

Codice:
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;                  
                }                  
             }
          }                  
       }
    }
__________________
Cosa c'è in tv? corto sulla tv trash!
Concluse le trattative di vendita/scambio positivamente con Ares17, gigarobot, Ale29, Amiga1200 e manga81
conclusa la trattativa di acquisto positivamente con rambdco.
enrico.pix è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2010, 16:11   #4
oNaSsIs
Member
 
L'Avatar di oNaSsIs
 
Iscritto dal: Apr 2007
Messaggi: 182
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].
oNaSsIs è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2010, 16:18   #5
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 22072
Quote:
Originariamente inviato da enrico.pix Guarda i messaggi
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
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2010, 01:07   #6
enrico.pix
Senior Member
 
Iscritto dal: May 2008
Città: Messina
Messaggi: 548
Quote:
Originariamente inviato da oNaSsIs Guarda i messaggi
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.
__________________
Cosa c'è in tv? corto sulla tv trash!
Concluse le trattative di vendita/scambio positivamente con Ares17, gigarobot, Ale29, Amiga1200 e manga81
conclusa la trattativa di acquisto positivamente con rambdco.
enrico.pix è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2010, 13:35   #7
enrico.pix
Senior Member
 
Iscritto dal: May 2008
Città: Messina
Messaggi: 548
risolto, bastava correggere il primo if, come detto da onassis
__________________
Cosa c'è in tv? corto sulla tv trash!
Concluse le trattative di vendita/scambio positivamente con Ares17, gigarobot, Ale29, Amiga1200 e manga81
conclusa la trattativa di acquisto positivamente con rambdco.
enrico.pix è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v