Laden...

Zufallszahlen für ein Lottoprogramm erzeugen

Erstellt von Mokki vor 11 Jahren Letzter Beitrag vor 11 Jahren 2.967 Views
Thema geschlossen
Hinweis von herbivore vor 11 Jahren

Abgeteilt von Arrays vergleichen

M
Mokki Themenstarter:in
4 Beiträge seit 2012
vor 11 Jahren

Danke, dass hilft mir schon weiter. 👍

Eine Frage habe ich noch zu Ermittlung der Zufallszahl. Ist mein Denkansatz soweit richtig?


Random zufall = new Random();

for (int i = 0; i < 6; i++)
   {
    zahl[i] = zufall.Next(1, 49);
    }


2.891 Beiträge seit 2004
vor 11 Jahren

Ist mein Denkansatz soweit richtig?

Nicht ganz. Denn:

Zitat von: Random.Next-Methode (Int32
maxValue: Die exklusive obere Grenze der zurückgegebenen Zufallszahl.

C
258 Beiträge seit 2011
vor 11 Jahren
Hinweis von herbivore vor 11 Jahren

Die folgende Aussage stimmt nicht. Wenn man den parameterlosen Konstruktor verwendet, wird automatisch ein zeitabhängiger Seed verwendet.

nein du bekommst immer die gleichen zahlen wenn du dein Programm startest,
man sollte den Random Konstruktor nicht ohne Parameter aufrufen da zufallszahlen in einem Rechner einfach nicht Möglich sind. Bei einem Random object ohne Seed bekommt man immer wieder die selben Zufallszahlen.

Ich mach das meistens mit Random random = new Random((int)DateTime.Now.Ticks)

M
Mokki Themenstarter:in
4 Beiträge seit 2012
vor 11 Jahren

Random object ohne Seed 🤔 🤔

Danke für die schnellen Antworten =)

2.891 Beiträge seit 2004
vor 11 Jahren

nein du bekommst immer die gleichen zahlen wenn du dein Programm startest

Nein, das kann man so nicht sagen. Der Konstruktor ohne Parameter ist folgendermaßen definiert: public Random() : this(Environment.TickCount).
Probleme dadurch treten eher auf, wenn man viele Random-Instanzen zur gleichen Zeit erzeugt. Die liefern dann oft alle die gleichen Zufallszahlen. Siehe auch [FAQ] Random.Next liefert eine Zeit lang die gleiche Zufallszahl - Warum? Wie geht es richtig?

C
258 Beiträge seit 2011
vor 11 Jahren

Okay man lernt nie aus, ich dachte der Seed im standard Konstruktor ist immer der selbe. Der Link von dN!3L beschreibt deutlich besser auf welche Probleme ich hinweisen wollte.

1.361 Beiträge seit 2007
vor 11 Jahren

Hi Mokki,

Bei deinem Code kann es passieren, dass du mehrfach die selben Zahlen ziehst. Das darf natürlich nicht passieren.

Das Problem wurd schon in Lottozahlen erzeugen - Zufallszahlen ohne Wiederholung behandelt und bei [Snippet] Zufallszahlen, die sich nicht wiederholen ein Snippet dafür bereitgestellt.

beste Grüße
zommi

Hinweis von herbivore vor 11 Jahren

Alle hier behandelten Themen sind in der FAQ erklärt oder wurden schon oft genug behandelt, mal ganz angesehen davon, dass alles recht grundlegende Themen sind, siehe [Hinweis] Wie poste ich richtig? Punkt 1.1.1 und 1.1.

Thema geschlossen