[C++] Array und Random

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [C++] Array und Random

    Moin Leute,

    ich habe ein Problem. Undzwar ich habe einen Lottozahlengenerator gebaut, der Zufalszahlen generriert und dann auf einem Label ausgibt.

    Nur mein Problem ist, dass die Lottozahlen teilweise Doppelt vorkommen. Dieses will ich jedoch verhindern. Dazu habe ich eine for do while Schleife eingebaut.

    Leider erziehlt es garkeine Wirkung.
    Ansonsten funktioniert alles! Es geht nur um die unterdrückung der doppelten Zahlen.
    kann da mal jemand hinein Schauen vieleicht?!

    PHP-Code:
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      for(
    i=0;i<8;i++)

         {
             
    Auswahl[I]=false;
            }
              for(
    i=0;i<8;i++)
            {
              do
               {
                 
    lottozahl[i]= random (49)+1;
               }while(
    Auswahl[lottozahl[i]]==true);
                      
    Auswahl[lottozahl[i]]==true;
        }
          
    Label1->Caption IntToStr (lottozahl[0]);
          
    Label2->Caption IntToStr (lottozahl[1]);
          
    Label3->Caption IntToStr (lottozahl[2]);
          
    Label4->Caption IntToStr (lottozahl[3]);
          
    Label5->Caption IntToStr (lottozahl[4]);
          
    Label6->Caption IntToStr (lottozahl[5]);
          
    Label7->Caption IntToStr (lottozahl[6]);

    Zuletzt geändert von -=[TLK*Shadow]=; 10.03.2005, 08:57.
    ich bin Soldat und das ist Gut so

  • #2
    1. du mußt random initialisieren
    2. bevor du die Zahl übernimmst, mußt du prüfen, ob sie schon existiert, wenn ja, neue erzeugen.
    PHP-Code:
    //Pseudocode
    srandom(time(0); // Init
    do { // Erzeugung einer Zahl
       
    blExists false;
       ... 
    // Zahl erzeugen
       
    for ... { 
          
    // Schleife zur Überprüfung auf Existenz mit umsetzen des Flags
          // bei Bedarf
       

    } while (
    blExists); 

    Kommentar


    • #3
      [C++] ok

      hmm

      klingt logisch..

      ok danke ich versuche es mal hinzubekommen!

      gru0 shadow
      ich bin Soldat und das ist Gut so

      Kommentar


      • #4
        [C++] hmm

        hmm also wenn ich es so mache dann schreibt er auf den Labels nur eien zhal stat 7

        und du hat eine Klammer bei srandom(...))<-- vergessen

        PHP-Code:
        {
         
        random(time(0)); // Init
         
        do{
             
        lottozahl[i]=random(48)+1;
             
        blExists false;
             
        lottozahl[i]=random(48)+1;
             for (
        i=0;i<7;i++)
              {
                
        Auswahl[i]=true;
              }
           } while (
        blExists); 
        ich bin Soldat und das ist Gut so

        Kommentar


        • #5
          ich schrieb ja auch:

          do { // Erzeugung einer Zahl

          wenn du mehr haben willst, mußt du selbst machen, außerdem du prüfst ja nicht auf Existenz

          Kommentar


          • #6
            oh

            nicht aufgepasst


            ok nun klappt es..
            ich bin Soldat und das ist Gut so

            Kommentar

            Lädt...
            X