[ npetrov @ 05.02.2005. 16:32 ] @
Bok ljudi, imam jedan problem:

naso sam neki kod za random petlju koja mi treba da zavrsim zadatak za ispit, a koji nikako da rijesim... Ukratko dolje je kod, shvatio sam kako da odaberem range brojeva, ali nikako da uspijem odrediti koliko brojeva da izvuce komp... evo koda pa molim nekoga da mi pomogne.... unaprijed hvala

Code:

#include <stdlib.h>
#include <iostream.h>
#include <time.h>

int main()
{
        int random_number;
        srand((unsigned)time(0));
        for(int i=0; i<38; i++){
                random_number = int (2.0 * rand ()/ (RAND_MAX+1.0));
                cout<< i <<"\t"<<endl;
                cout<< random_number <<endl;

        }
        system ("pause");
        return 0;
}
[ Buffy @ 05.02.2005. 17:00 ] @
Budi malo jasniji!!!
[ Marko Stankovic @ 05.02.2005. 17:25 ] @
Cekaj koliko ja razumem ti zelis recimo da ispises 5 slucajna broja i ne znas kako da to uradis? Ako je tako sve sto treba da promenis jeste da u for petlji gde pise i<38 umesto broja 38 stavis 5 (odnosno stavis broj koliko ti slucajnih brojeva treba). Znaci ako zelimo X random brojeva onda for petlja izgleda ovako:
Code:

...

for(int i=0; i<X ; i++) 

...


Inace ovaj kod ce generisati samo 0 i 1, cisto ako nisi primetio.
[ npetrov @ 05.02.2005. 20:05 ] @
da, ali ako promijenim taj x, manji mi je raspon... dakle, primjer trebao bi generirati 6 slucjanih brojeva od 1 do 45, tako da me zanima kako da to izvedemmm...
[ blaza @ 05.02.2005. 20:28 ] @
Code:
 for(int i=1; i<=6; i++)
      cout<< i <<"\t"<< rand() % 45 + 1 <<endl;

Da li brojevi treba da budu medjusobno razliciti?
[ npetrov @ 05.02.2005. 20:34 ] @
trebalo bi da, ako mi mozes reci kako..... bio bi jako zahvalan
[ npetrov @ 05.02.2005. 20:38 ] @
to je bilo ono sto sam trazio, puno hvala.... ako budem imao jos koji problem, javit cu se.... jos jednom zahvaljujem svima
[ blaza @ 05.02.2005. 22:06 ] @
Code:
int nr;
unsigned long int a[2] = {};
for(int i = 1; i <= 6; i++){
    while(true){
        nr = rand() % 45 + 1;
        unsigned long b = 1 << (nr % 32);
        if (!(b & a[nr / 32])){
            a[nr / 32] ^= b;
            break;
        }    
        cout<< "Broj " << nr << " ponovljen. Opet biram broj.\n";
    }               
    cout<< i <<"\t"<< nr <<endl;   
}