random klasse random klasse
Danke Danke:  0
Ergebnis 1 bis 7 von 7
  1. Hallo zusammen,

    ich habe ein Frage bzgl. der random klasse in c#

    und zwar erzeuge ich mit

    Random Rnd = new Random();
    int round = Rnd.Next(0, 151);
    mehr oder weniger Zufallszahlen.

    Das klapp alles wunderbar, aber ich möchte, dass bereits generierte Zahlen nicht noch einmal generiert werden.
    Geht das mit dem von mir genutzten Code? Oder muss ich das ganze komplett anders regeln?

    Vielen dank für eure Hilfe!

    mfg
    Tortuga
    0
     

  2. 13.09.2012, 18:56
    #2
    D.h. du möchstest Zahlen im Bereich von 0 bis 151 generieren aber jede der Zahlen soll nur einmal vorkommen bis du alle einmal hattest? Für einen einzelnen Durchlauf ist das nicht garantiert, bei einer gegen unendlich gehenden Zahl an generierten Werten sind sie jedoch alle gleich wahrscheinlich - auch wenn z.B. durchaus zweimal hintereinander eine 5 kommen könnte.
    0
     

  3. genau beim start der app sollen die zahlen jeweils einmal vorkommen, wenn die app aber wieder neu gestartet wird sollen alle zahlen wieder einmalig zur Verfügung stehen... und das halt immer und immer wieder.
    momentan ist es so, dass die zahlen durchaus 2-3 mal hinter einander kommen oder 1, 1, 1, 2, 1, 2, 3, 40, ... und um das zu umgehen dachte ich evtl. gibt es ja eine mgl. jedes erzeugte zahl zu "sperren"...
    0
     

  4. 13.09.2012, 19:21
    #4
    Du könntest ein Boolean-Array nehmen mit 150 Stellen und immer wenn du eine Zahl generierst den entsprechenden Index im Array auf false setzen.

    Also:

    do {
    int i = rnd.Next(0, 150);
    }
    while(!arr[i]);

    arr[i] = false;

    Mit der Schleife generierst du solange neue Zufallszahlen bis du eine hast, die noch nicht dran war. Dann markierst du sie als benutzt. Ist nicht die effizienteste Lösung aber sie funktioniert. Du solltest halt irgendwie auch mitzählen wieviele Zahlen du schon generiert hast. Nach 150 generierten Zahlen sind nämlich keine mehr übrig => das da oben würde zur Endlosschleife. Da wäre es dann wohl am besten alle wieder zu erlauben (also alle Felder im Array auf true zu setzen).
    0
     

  5. 0
     

  6. ahhh danke euch beiden!

    eine ähnliche version des links habe ich jetzt verbaut...
    ich speicher alle generierten zahlen zwischenzeitlich im storage und leere ihn wieder wenn ich zurück ins hauptmenü gehe um eine neue runde zu beginnen!

    0
     

  7. Ich würde hierfür überhaupt nicht die Random Klasse verwenden. Ich würde ein Array mit den Zahlen 1 - 150 erstellen und dieses "zufällig sortieren". Eine hinreichend zufällige Sortierung bekommst du z.b., indem du als Sortierkriterium jeweils eine Guid erzeugst.
    Mit der kostenlosen PocketPC.ch App von meinem OMNIA7 aus geschrieben.


    Nachtrag: hier ein Codebeispiel...

    Code:
     class Program
       {
          static void Main(string[] args)
          {
             var randomSet = GenerateRandomSet(150);
          }
    
          private static List<int> GenerateRandomSet(int count)
          {
             // Initialisiere die Liste mit den Elementen, die enthalten sein sollen.
             var list = new List<int>();
             for (int i = 0; i < count; i++)
                list.Add(i + 1);
    
             // Jetzt würfel alles durcheinander, indem wir nach
             // einem "zufälligen" Kriterium sortieren
             return list.OrderBy(zahl => Guid.NewGuid()).ToList();
          }
       }
    0
     

Ähnliche Themen

  1. Musikplayer spielt plötzlich im Random-modus
    Von sivadselim im Forum Apple iPhone 4/S
    Antworten: 4
    Letzter Beitrag: 30.08.2012, 23:15
  2. Sound spielt scheinbar random
    Von Gorkde im Forum HTC Desire HD
    Antworten: 1
    Letzter Beitrag: 24.12.2010, 09:28
  3. Random SMS-Benachrichtigungston
    Von flodrhv im Forum HTC HD2 Android
    Antworten: 0
    Letzter Beitrag: 24.11.2010, 10:20
  4. Random notification Sounds
    Von mezen im Forum Android Allgemein
    Antworten: 0
    Letzter Beitrag: 30.09.2010, 16:49
  5. [Script] Random Boot Animation
    Von dremox im Forum Google Nexus One Root und ROM
    Antworten: 0
    Letzter Beitrag: 03.03.2010, 13:35

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

c# random jede zahl nur einmal

windows phone 7 klasse öffentlich

Musikplayer spielt plötzlich im Random-modus iphone

c# random zahl nur einmal verwenden

c# random nur ein mal

zufallszahl bereich nur einmal

Stichworte