![]() |
Re: Zahlen-Kombinationen
Nee, is ja auch Bullshit (von mir). Richtig muss es so heissen, wo oben verbessert!
|
Re: Zahlen-Kombinationen
Zitat:
MfG freak |
Re: Zahlen-Kombinationen
Danke an alle. Sowas habe ich gesucht.
|
Re: Zahlen-Kombinationen
Zitat:
MfG freak |
Re: Zahlen-Kombinationen
Ich habe die function BioserPermutation benutzt. Leider habe ich aber gesehen,
daß mir das nicht richtig weiterhilft. Ich will jetzt nochmal genauer werden. Ich benutze TList. Hier sind Daten abgelegt. Nun ist meine Idee, daß ich mir eine Kopie von der Liste mache um damit dann die Elemente nach obigen Beispielen zu permutieren.
XML-Code:
OrList:TList (Original)
0 1 2 3 4 5 Elem0 Elem1 Elem2 Elem3 Elem4 Elem5 CoList:TList (Kopie) 0 1 2 3 4 5 Elem0 Elem1 Elem2 Elem3 Elem4 Elem5 1 0 2 3 4 5 Elem1 Elem0 Elem2 Elem3 Elem4 Elem5 2 0 1 3 4 5 Elem2 Elem0 Elem1 Elem3 Elem4 Elem5 usw.
Delphi-Quellcode:
Genau das will ich machen !
for i:=0 to CoList.count-1 do
begin //Dateninhalt verarbeiten .... //nächste Permutation erzeugen end; |
Re: Zahlen-Kombinationen
Und genau das macht BioserPermutation, nur eben als String...
|
Re: Zahlen-Kombinationen
Möchtest du denn die Zwischenschritte auch haben, oder nur das endergebnis?
MfG freak |
Re: Zahlen-Kombinationen
Wenn ich die mit alzaimars function erzeugt habe, müßte ich
die Reihenfolge der Elemente in der Liste entsprechend anpassen. Also, wenn ich 2 0 1 3 habe, müßten die Elemente auf die enstprechende Position gesetzt werden.
XML-Code:
Original-Liste
F0 F1 F2 F3 0 1 2 3 Für die Permutation 2 0 1 3 würde dann gelten: Feldinhalt von Feld 0 nach Feld 1 Feldinhalt von Feld 1 nach Feld 2 Feldinhalt von Feld 2 nach Feld 0 Feldinhalt von Feld 3 nach Feld 3 Dann könnte ich die Elemente in einer for-Schleife verarbeiten. |
Re: Zahlen-Kombinationen
Oh, ist doch aber nicht schwer:
Delphi-Quellcode:
Ungestet, aber sollte klappen.
Procedure BiosenPermutator (aList, aOutput : TList; aCount : Integer);
Begin aOutput[0] := aList [aCount]; For i := 0 to High (aList) do if i<aCount then aOutput[i+1] := aList[i] else if i>aCount Then aOutput[i] := aList[i]; End; |
Re: Zahlen-Kombinationen
Wie kommst du auf ' 2 0 1 3'? :gruebel:
Mit BioserPermutation ('0123', 3); komme ich auf 3012. MfG freak |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz