algorythmus gesucht

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Waldläufer, 8. Februar 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 8. Februar 2006
    ich brauche einen algorythmus für delphi und zwar muss der 6 zahlen annehmen, die dann geprüft werden ob sie doppelt sind! wenn ja soll mir dies mit hilfe einer neuen variablen gekennzeichnet werden (1=ja, 0=nein)

    vielen dank!
    ist für ein lottoprogramm! hab alles schon fertig nur daran bin ich bisher gescheitert! hatte zwar ne idee die auch klappt aber möchte was anderes und vor allem kürzeres!
    in meinem alg. wird in einer schleife geprüft ob da doppelte sind und für jede doppelte wird auf eine variable +1 addiert! d.h. es müssen immer 6 doppelte sein weil in der schleife jeder wert mit sich selbst auch verglichen wird!(/wusste ni wie ich das anders hinbekomme, ist ein array) und dann wird jede möglichkeit praktisch von hand ausprobiert wo genau ( wenn nicht 6 doppelte sind (also mehr) ) die doppelten sind! und das ist sehr viel if-bedingung!

    bitte helft mir...achja bitte versucht den text zu verstehen bin grad unter alkoholeinfluss also sorry für das dumme deutsch!
     
  2. 8. Februar 2006
    LOL
    Also, ich versuche jetzt mal das zu verstehen...
    Du erzeugst vermutlich via Zufallszahlen 6 Zahlen zwischen 1 und 49. Dabei erhälst du aber auch unter Umständen doppelte Zahlen.
    Ich empfehle dir jetzt nicht einfach nach doppelten Zehlen zu suchen, sondern einen anderen Algorythmus zum Lotto-Zahlen-generieren zu nehmen.
    Ich versuch's mal kurz:
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
     lotto_array: Array[1..6] of Byte; //hier kommen die Lotto-Zahlen rein
     zahlen_liste: TStrings; //hier kommen alle Zahlen von 1 bis 49 rein
     i,j: Byte; //einfache Zählvariable ;) / Variable für den Zufallswert
    begin
     Randomize; //Zufallsgenerator initialisieren...
    
     zahlen_liste := TStringList.Create; //Liste initialisieren
     for i := 1 to 49 do zahlen_liste.Add(IntToStr(i)); //Liste mit den Werten füllen
    
     for i := 1 to 6 do begin //Sechs mal das Folgende durchführen
     j := Random(zahlen_liste.Count-1); //in j eine zufällige Zahl aus dem Bereich der Liste setzen
     lotto_array[i] := StrToInt(zahlen_liste.Strings[j]); //den Wert in das Array schreiben
     zahlen_liste.Delete(j); //den Wert aus der Liste löschen (damit's ihn nicht mehrmals gibt)
     end;
    
     //FERTIG! In dem array "lotto_array" sind jetzt 6 Lotto-Zahlen, und es ist nich möglich, dass zwei gleiche dabei sind...
     ShowMessage(IntToStr(lotto_array[1])+', '+IntToStr(lotto_array[2])+', '+IntToStr(lotto_array[3])+', '+IntToStr(lotto_array[4])+', '+IntToStr(lotto_array[5])+', '+IntToStr(lotto_array[6]));
     //^^zeigt den Inhalt nochmal an ;)
    end;
    Wenn ich's falsch verstanden hab', dann erklär's nochmal, dann aber ohne alkohol-Einfluss

    CyK
     
  3. 9. Februar 2006
    vielen dank!

    nein du hast es genau richtig verstanden! vielen dank für die hilfe! damit hat sich das thema erledigt! immerwieder schön dass einem hier proffessionel geholfen wird! danke nochmal!
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.