Random Funktion [C++]

Dorschty

Erfahrenes Mitglied
Hallo Leute,

ich programmiere unter .NET und benötige nun eine richtige Random Funktion, die mir auch bei gleicher Eingabe andere Ergebnisse bringen kann.
Es müssen eine bestimmte Anzahl, die durch eine unsigned int Variable gegeben wird, von Zufallszahlen rauskommen (in einem array gespeichert oder ähnlich) und die Zufallszahlen müssen zwischen 0 und einer weiteren unsigned int Variable liegen!
Ich weiß leider nicht, wie ich das implementieren kann und wäre für jede Hilfe dankbar!

Grüße
Dorschty
 
Hallo Dorschty,

in .NET gibt es die Random-Klasse, die dafür wunderbar geeignet ist. Da ich nicht weiß, welche .NET-Version von C++ du programmierst, verwende ich mal die Syntax der 2005er-Version:

Code:
unsigned int nCount = 10;  // Anzahl der Elemente
unsigned int nMaximum = 20;  // Maximaler Wert der Zufallszahlen

Random ^ oRand = gcnew Random();
unsigned int nValues[] = new unsigned int[nCount];

for(int n = 0; n < nCount; n++)
{nValues[n] = oRand->Next(0, Maximum);
}
Falls du noch Fragen hast, sag einfach Bescheid. :)

Gruß
PhoenixLoe
 
Hey und Danke für die Antwort!
Funktioniert soweit super! Das einzige Problem ist nur noch das bei einem Durchgang der Zufallszahlen auf gar keinen Fall zweimal die gleiche Zahl kommen darf! Kann man das irgendwie sofort unterbinden oder muss man das durch abfragen lösen?

Grüße Dorschty
 
Mir wäre keine andere Möglichkeit bekannt, als es durch Abfragen zu lösen. Zumindest bietet die Random-Klasse keine solche Möglichkeit. Gruß PhoenixLoe
 
Zurück