Hallo,
ich versuche ein kleines Programm zu schreiben, dass mir 18 nicht doppelte Zufallszahlen erzegt und diese in ebenfalls 18 Textboxen schreibt. Damit möchte ich Zahlen für einen Bingo Abend erzeugen 😉 Gibt es eine Funktion, die mir eine Anzahl X an zufälligen Zahlen erzeugt, ohne das doppelte dabei sind?
MfG
Christian
Hallo,
Ich wüsste zwar nicht, dass es sowas bereits fertig in der .NET Bibliothek gibt, aber das lässt sich ja mit System.Math.Random leicht nachbauen.
Grüße,
Andre
Wenn es um nicht-doppelte Zufallszahlen geht, empfiehlt sich ein Array mit allen möglichen Zahlen zu nehmen (wenns nicht gar so viele sind... bei Bingo hält sich das ja noch in Grenzen), dieses dann zu Mischen, und dann die ersten 18 Zahlen zu nehmen.
Für Mischen gibt es viele Varianten. Eine einfache aber effektive
for( int i = 0; i < array.Length; ++i )
Swap( i, rand.Next(0,array.Length) );
Swap ist dabei das Austauschen der Elemente.
rand ist das Random Objekt.
e.f.q.
Aus Falschem folgt Beliebiges
Random r = new Random();
int test = r.Next(0, 20);
Der Rest sollte nicht allzu schwer sein
mitti
Edit: Da war einer schneller 🙂
Hallo zusammen,
damit hier nicht nochmal alles neu durchgekaut wird 🙂
==> Zufallszahlen, die sich nicht wiederholen
herbivore
Diesen Beitrag verstehe ich nicht.... im Zusammenhang mit der Problemstellung
Hallo purestrain,
der Beitrag beantwortet genau die eingangs gestellte Frage.
herbivore
Hallo Herbivore,
Original von mitti
Random r = new Random(); int test = r.Next(0, 20);
Der Rest sollte nicht allzu schwer sein
mitti
Edit: Da war einer schneller 🙂
Auf dieses Posting bezogen, scheint mir die Frage nicht unbedingt zu beantworten