Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Sonstige Fragen » Random Zahlen sollen nicht doppelt sein! » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
progger

Das leute schon spiele programmieren . Geil großes Grinsen

Ich bin schon mit den Grundlagen überlastet
RavenPixel

Vielen Dank, jetzt hat es funktioniert smile
eulerscheZahl

Ich habe ein HashSet verwendet. Das stellt sicher, dass jede Zahl nur einmal vorkommt.

Wenn du mit der Minimalzahl von Random.Next() auskommen willst, nimm das:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
int n = 10; int k = 6;
int[] numbers = Enumerable.Range (0, n).ToArray ();
Random r = new Random ();
for (int i = 0; i < k; i++) {
	int index = r.Next (i, n);
	int tmp = numbers [index];
	numbers [index] = numbers [i];
	numbers [i] = tmp;
}
Console.WriteLine (string.Join(", ", numbers.Take(k)));
RavenPixel

ach entschuldige... hab nicht richtig nachgedacht und falsch formuliert....

wollte wissen wie ich es innerhalb oder außerhalb der schleife direkt verhindern kann, dass eine zahl doppelt vorkommt.

das war gemeint, nicht sortieren, sry
eulerscheZahl

Du hast etwas von Sortieren geschrieben.
Wenn du die Reihenfolge zufällig haben willst, lösche das OrderBy wieder raus.
RavenPixel

Ist es in diesem Fall normal, dass die Zahlen immer aufsteigend sind?
Also die kleinste Zahl am Anfang und die Größte am Ende?
eulerscheZahl

Sowas?
code:
1:
2:
3:
4:
5:
6:
HashSet<int> numbers = new HashSet<int> ();
Random r = new Random ();
while (numbers.Count < 6) {
	numbers.Add (r.Next (10));
}
Console.WriteLine (string.Join (", ", numbers.OrderBy (x => x)));
RavenPixel

So hatte ich es zumindest vor, jedes spiel sollte ja einen neuen zahlencode bekommen..

ja es ist c#, hatte ich wohl vergessen zu sagen
eulerscheZahl

Jetzt willst du die Zufallszahlen auch noch sortiert haben?
Der Codeausschnitt ist C#, oder?
RavenPixel

Ich habe bereits ein array eingebaut, dabei ist das problem dann, dass ich diesen halt

Random r = new Random();

zugewiesen habe und diese in einer for-Schleife besetzt habe...

for (int i = 0; i < zahl.Length; i++)
{
zahl[i] = r.Next(Min, Max);
}

Deshalb dachte ich, dass ich diese damit direkt sortieren kann...
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.