Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij akce až 50 % zdarma při nákupu e-learningu. Více informací:
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Slevovy týden 3/50
Avatar
jameshercel
Člen
Avatar
jameshercel:8.11.2012 21:00

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
Tvůrce
Avatar
Odpovídá na jameshercel
matesax:8.11.2012 21:05
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:8.11.2012 21:36

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
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Čápka
matesax:8.11.2012 21:50

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
8.11.2012 21:50
Avatar
jameshercel
Člen
Avatar
jameshercel:9.11.2012 18:14

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.