Unterschiedliche Zufallszahlen generieren in C#
Nachdem ich euch schon gezeigt habe, wie man eine Liste an unterschiedlichen Zufallszahlen in PHP generiert, folgt nun ein Beispiel, wie man das ganze in C# umsetzen kann. Wer sich fragt, wofür man das braucht, liest am besten noch einmal die kurze Einleitung in diesem Artikel.
//Legt den Zahlenbereich fest, aus dem die
//Zufallszahlen gewählt werden sollen
int kleinsteZahl = 1;
int groessteZahl = 10;
//Legt fest wie viele Zufallszahlen generiert werden sollen
int zufallsZahlen = 5;
//Wir legen eine List mit den Zahlen an, aus denen
//die Zufallszahlen gewählt werden sollen
List auswahlZahlen = new List();
for (int i = kleinsteZahl; i <= groessteZahl; i++)
auswahlZahlen.Add(i);
//Wir legen eine List an, die unsere Ergebnisse
//beeinhalten soll
List ergebnisse = new List();
//Wir initialisieren den Zufallszahlengenerator
Random rand = new Random();
//Die Schleife ermittelt in jedem Durchlauf eine Zufallszahl
for (int i = 0; i < zufallsZahlen; i++)
{
//Es wird eine Zufahlszahl generiert
int zZahl = rand.Next(1,auswahlZahlen.Count) - 1;
//Die generierte Zufallszahl dient als Index für die List
//mit den Zahlen aus denen wir wählen
ergebnisse.Add(auswahlZahlen[zZahl]);
//Die gewählte eindeutige Zufallszahl wird aus der
//auswahlZahlen List entfernt
auswahlZahlen.RemoveAt(zZahl);
}
viele Grüße,
Raffi
Unterschiedliche Zufallszahlen generieren in PHP
Manchmal kann es nötig sein eine Liste mit unterschiedlichen Zufallszahlen zu erstellen. Ein mögliches Anwendungsszenario hierfür könnte zum Beispiel ein Gewinnspiel sein, bei dem die Gewinner zufällig ausgewählt werden, ein einzelner Teilnehmer jedoch nicht mehr als einmal gewinnen soll. Wie das in PHP funktioniert, zeigt euch das nachfolgende Snippet.
<?php
//Wir legen eine Array mit den Zahlen an, aus denen
//die Zufallszahlen gewählt werden sollen
$array = range($minimum, $maximum);
//Wir initialisieren den Zufallszahlengenerator
srand ((double)microtime()*1000000);
//Die Schleife ermittelt in jedem Durchlauf eine Zufallszahl
for($x = 0; $x < $AnzahlDerZufallszahlen; $x++)
{
//Es wird eine Zufahlszahl generiert
$i = rand(1, count($array))-1;
//Die generierte Zufallszahl dient als Index für das Array
//mit den Zahlen aus denen wir wählen
$erg[] = $array[$i];
//Die gewählte Zufallszahl wird aus dem Auswahlzahlen-
//Array entfernt, damit Sie nicht doppelt gewählt werden kann
array_splice($array, $i, 1);
}
?>
Hinweis: $minimum, $maximum und $AnzahlDerZufallszahlen müsst ihr natürlich vorher noch festlegen.
Viele Grüße,
Raffi
