[C++] Array und Random

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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]);

    Last edited by -=[TLK*Shadow]=; 10-03-2005, 07: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); 

    Comment


    • #3
      [C++] ok

      hmm

      klingt logisch..

      ok danke ich versuche es mal hinzubekommen!

      gru0 shadow
      ich bin Soldat und das ist Gut so

      Comment


      • #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

        Comment


        • #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

          Comment


          • #6
            oh

            nicht aufgepasst


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

            Comment

            Working...
            X