Avatar
jameshercel
Člen
Avatar
jameshercel:

Ahoj.V c# začínám,proto omluvte mou negramotnost v tomto jazyce.Chtěl bych vygenerovat několik náhodných čísel v daném rozmezí,ale generuje mi pořád stejné .Děkuji.
int cislo1 = new Random().Next(1, 11);
int cislo2 = new Random().Next(1, 11);
výstup:
cislo1 = např.2
cislo2 = např.2

 
Odpovědět 8.11.2012 21:00
Avatar
matesax
Redaktor
Avatar
Odpovídá na jameshercel
matesax:
Random r = new Random();

cislo1 = r.Next(1, 11);
cislo2 = r.Next(1, 11);
 
Nahoru Odpovědět 8.11.2012 21:05
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na jameshercel
David Čápka:

Protože tvoříš stále novou instanci Random(), jak píše matesax, musíš si udělat jednu a tu v programu sdílet, jinak se to občas chová dost divně.

Nahoru Odpovědět 8.11.2012 21:36
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

Protože použitý algoritmus má přesně definován počátek - jinak to ani nejde. Dále si ukládá data - tím začíná randomizovat. Při vytvoření nové instance začínáš od znova - bez uložených dat...

(používá se čas v ms)

Editováno 8.11.2012 21:52
 
Nahoru Odpovědět  +1 8.11.2012 21:50
Avatar
jameshercel
Člen
Avatar
jameshercel:

Děkuji za ochotu a radu.Docela jsem si s tím lámal hlavu.

 
Nahoru Odpovědět 9.11.2012 18:14
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.