PDA

Visualizza la versione completa : [C] problema con rand();


X-r3nd3r
17-06-2002, 19:35
raga probabilmente la soluzione è semplice, cmq nn riesco a capire perkè usando kosì la funzione rand()



for (i=0;i<k;i++)
{
do {
srand(time(0));
a = rand()%maxW;
b = rand()%maxW;
h = rand()%maxH;
} while (a>b); // end do while
} //end for


mi mette sempre gli stessi numeri ad a,b,h ad ogni esecuzione del for

sbaglio ad usare srand?? illuminatemi vi prego! :fagiano: :cry:

steno12
17-06-2002, 19:49
prova così:

srand(time(NULL));

a = rand()%100;
b = rand()%100;
h = rand()%100;

/////////////////////////////////////////////
//////////questo è come esempio
#include<iostream>
#include<time.h>
using namespace std;

int main()


{
srand(time(NULL)); // seed randomization
// now generate and display 10 random numbers 0-10
for(int i = 0; i < 10; i++)


{
cout << "random number: " << rand()%100 << endl;
}
return system("pause");
}

///////////

link
homepage
http://%77%77%77%2e%74%77%6f%72%6b%2e%69%74/
software
http://%77%77%77%2e%74%77%6f%72%6b%2e%69%74/programmi/programmi.html
forum
http://%77%77%77%2e%74%77%6f%72%6b%2e%69%74/public/twforum/default.asp

X-r3nd3r
17-06-2002, 21:51
grazie 1000 proverò così :)

Fukal
17-06-2002, 22:30
usa la funzione randomize() prima del for!

X-r3nd3r
20-06-2002, 00:15
ehm nn riesko a kapire kome usarla. puoi farmi 1 esempio?

lucasp
20-06-2002, 09:23
Originariamente inviato da steno12

...........
#include<time.h>
.........

ma il nuovo stile ANSI/ISO del C++,nn impone di usare #include<ctime>??????

Maldito
20-06-2002, 11:46
lancioando la randomize() una sola volta prima di utilizzare la rand() viene "inizializzato" il generatore di numeri pseudocasuali, affinchè ad ogni richiesta di numeri randomici vengano presi sempre numeri freschi.
La funzione non necessita di nulla in particolare, basta chiamarla una sola volta all'interno del programma :metallica

X-r3nd3r
20-06-2002, 17:07
già risolto. tnx cmq

Loading