AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Lotto Systemspiele berechnen
Thema durchsuchen
Ansicht
Themen-Optionen

Lotto Systemspiele berechnen

Ein Thema von wurzelzwerg · begonnen am 20. Sep 2011 · letzter Beitrag vom 23. Feb 2013
Antwort Antwort
Seite 3 von 4     123 4      
wurzelzwerg

Registriert seit: 19. Jun 2011
Ort: Ilmenau
111 Beiträge
 
Delphi XE5 Enterprise
 
#21

AW: Lotto Systemspiele berechnen

  Alt 22. Sep 2011, 20:58
Danke MrSpock, schau ich mir an.
Was hälst du davon?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
type
  TSpiel = record
    z1, z2, z3, z4, z5, z6: integer;
  end;
var
  i, k, l, m, n, o, p, max: integer;
  tipps: array of TSpiel;
  tipp: array[1..16] of integer;
begin
  for i:= 1 to 16 do
    tipp[i]:= i; // bzw. individueller Tipp
  max := 16;
  i := 1;
  for k := 1 to max - 5 do
    for l := k + 1 to max - 4 do
      for m := l + 1 to max - 3 do
        for n := m + 1 to max - 2 do
          for o := n + 1 to max - 1 do
            for p := o + 1 to max do
            begin
              SetLength(tipps, i);
              tipps[i - 1].z1 := tipp[k];
              tipps[i - 1].z2 := tipp[l];
              tipps[i - 1].z3 := tipp[m];
              tipps[i - 1].z4 := tipp[n];
              tipps[i - 1].z5 := tipp[o];
              tipps[i - 1].z6 := tipp[p];
              inc(i);
            end;

  Memo1.Lines.Clear;
  Memo1.Lines.BeginUpdate;
  for i := Low(tipps) to high(tipps) do
  begin
    Memo1.Lines.Add(IntToStr(tipps[i].z1) + ' ' +
      IntToStr(tipps[i].z2) + ' ' +
      IntToStr(tipps[i].z3) + ' ' +
      IntToStr(tipps[i].z4) + ' ' +
      IntToStr(tipps[i].z5) + ' ' +
      IntToStr(tipps[i].z6));
  end;
  Memo1.Lines.EndUpdate;
  Caption := IntToStr(Memo1.Lines.Count) + ' Tippreihen';
end;
Nun bleibt noch das VEW.
Sind das von Lotto festgelegte Kombinationen die man sich definieren muss?

Geändert von wurzelzwerg (22. Sep 2011 um 21:13 Uhr)
  Mit Zitat antworten Zitat
BoolString

Registriert seit: 2. Feb 2009
Ort: Varel
70 Beiträge
 
RAD-Studio 2009 Pro
 
#22

AW: Lotto Systemspiele berechnen

  Alt 23. Sep 2011, 00:02
Hab den Thread nur kurz überflogen. Meinst du so etwas:

Delphi-Quellcode:
Procedure TForm1.CalcCombinatoricGenes (CombinatoricResult, Rest : String; CalcDepth : Integer);
Var Runner : Longint;
    Counter : Int64;
Begin
// If (Rest='') Or (CalcDepth=0) THen
// Begin
// If CheckRules (CombinatoricResult)THen
// Begin
// ListBox1.Items.Add(CombinatoricResult);
// end;

    ListBox1.Items.Add (CombinatoricResult);

  end
  Else
  Begin
    For Runner := 1 to Length (Rest) do
    Begin
      CalcCombinatoricGenes (CombinatoricResult + Rest [Runner],
                               Copy (Rest, 1, Runner-1) + Copy (Rest, Runner+1, Length (Rest)-1),
                               CalcDepth-1);
    end;
  end;
end;



procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  CalcCombinatoricGenes ( '', '123456789', 5);
end;
Komlett rekursiv.

- CombinatoricResult enthält die Ergebnisse
- Rest enthält die noch nicht entnommenen Elemente; bei erstem Aufruf die übergebene Liste der zur Verfügung stehenden Elemente
- Depth sagt, wie viele Elemente aus der Ursprungsmenge von Rest entnommen werden sollen

Für deine Anwendung müsstest du dir überlegen, wie du deine Zahlen/Elemente 'tokenisen' kannst. Z.B. in Chars umwandeln. Bin mir aber gerade nicht sicher, ob das komplett Unicode konform ist...

Falls das komplett am Ziel vorbei schießt, schmeist meinen Beitrag einfach aus dem Thread...

Jan
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#23

AW: Lotto Systemspiele berechnen

  Alt 23. Sep 2011, 00:13
Auf den ersten Blick: Das löppt so nicht ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#24

AW: Lotto Systemspiele berechnen

  Alt 23. Sep 2011, 08:44
Danke MrSpock, schau ich mir an.
Was hälst du davon?
...
Die Lösung funktioniert auch. Die rekursive ist allgemeiner, weil sie prinzipiell für beliebige n und m funktioniert. Die iterative Lösung ist dafürwohl etwas schneller.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#25

AW: Lotto Systemspiele berechnen

  Alt 23. Sep 2011, 09:49
Also hier mal das, was ich mit n_aus_m meinte. Eine schnuckelige rekursive Prozedur, die das Vollsystem erzeugt
Stimmt, schnuckelige Procedure. Hast du die auch für N aus N (N Fakultaet Möglichkeiten) ? Könnte ich für meine Schneideskizze gebrauchen.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#26

AW: Lotto Systemspiele berechnen

  Alt 23. Sep 2011, 11:07
Also hier mal das, was ich mit n_aus_m meinte. Eine schnuckelige rekursive Prozedur, die das Vollsystem erzeugt
Stimmt, schnuckelige Procedure. Hast du die auch für N aus N (N Fakultaet Möglichkeiten) ? Könnte ich für meine Schneideskizze gebrauchen.
Was genau meinst du mit N aus N? Bei N aus N gibt es nur genau eine Möglichkeit, nämlich alle N Elemente.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: Lotto Systemspiele berechnen

  Alt 23. Sep 2011, 11:39
Alle möglichen Kombinationen (nicht sortiert).

Beispiel: N = 3

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#28

AW: Lotto Systemspiele berechnen

  Alt 23. Sep 2011, 11:48
Alle möglichen Kombinationen (nicht sortiert).

Beispiel: N = 3

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
Bei n über k ist die Reihenfolge irrelevant Es geht beim Lotto schließlich nur um die gezogenen Zahlen, nicht in welcher Reihenfolge diese angekreuzt wurden
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#29

AW: Lotto Systemspiele berechnen

  Alt 23. Sep 2011, 12:17
Zitat:
Bei n über k ist die Reihenfolge irrelevant Es geht beim Lotto schließlich nur um die gezogenen Zahlen, nicht in welcher Reihenfolge diese angekreuzt wurden

Kein Mensch hat was anderes behauptet, ich benötige das für etwas anderes, -> siehe # 25.
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#30

AW: Lotto Systemspiele berechnen

  Alt 23. Sep 2011, 12:28
Kein Mensch hat was anderes behauptet, ich benötige das für etwas anderes, -> siehe # 25.
Mir ist bewusst, dass du was anderes willst. Du hattest aber in Bezug auf MrSpocks Funktion nach "n aus n" gefragt. Die liefert aber nunmal etwas grundlegend anderes ab
Das was du suchst, nennt sich "Permutation" und sollte ohne Probleme hier im Forum zu finden sein.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz