Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Problem mit Variablen


bernd29 - Sa 19.02.11 22:07
Titel: Problem mit Variablen
Hallo,

Ich habe 4 Variablen vom Typ integer, die Variablen haben einen Wert von 1 - 200.
Ich will nun zur Sequenz bestimmung, den Optimalsten Wert der 4 Variablen finden.

Hat jemand eine Idee wie ich allen 4 Variablen so durch laufen lassen kann,
dass alle Kombinationen durchlaufen wurden.

Gruß Bernd


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am Sa 19.02.2011 um 22:46


jaenicke - Sa 19.02.11 22:17

Pack die Variablen in ein Array, dann kannst du normale for-Schleifen benutzen. ;-)

Bei nur 4 Werten kannst du das aber auch fest im Quelltext machen. Was ist für dich denn der "optimalste" Wert? Falls du den maximalen meinst, kannst du einfach MaxIntValue aus der Unit Math benutzen.


bernd29 - Sa 19.02.11 22:20

Hio Jaenicke,

Gute idee aber ich will ja nicht das alle z.b. 1,2,3,4 hoch zählen.

Gruß Bernd


haentschman - Sa 19.02.11 22:23

Zitat:
Gute idee aber ich will ja nicht das alle z.b. 1,2,3,4 hoch zählen.

...dann solltest du bitte noch einmal genauer erklären was du vorhast. Vieleicht anhand eines Beispieles. 8)


bernd29 - Sa 19.02.11 22:29

Hi haentschman,

Wie ich oben schon geschrieben habe sollen die variablen gleichzeitig so durchlaufen werden bis zum beispiel;

a:= 80, b:= 110, c:= 20, d:= 178 ausgegeben wird als optimalste einstellung, wobei es nicht um die auswertung geht.

Es geht mir nur darum das alle zahlen kombinationen durchlaufen werden.


Gruß Bernd

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Oder anders gesagt denk an ein Zahlenschloss um die Kombination zufinden, muss man alle Kombinationen durchlaufen.
so dachte ich mir das.

Gruß Bernd


jaenicke - Sa 19.02.11 22:35

Ach so meinst du das... Dann reichen doch 4 verschachtelte Schleifen. :gruebel:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
for a := 1 to 200 do
  for b := 1 to 200 do
    for c := 1 to 200 do
      for d := 1 to 200 do
        if optimal(a, b, c, d) then
          ...


bernd29 - Sa 19.02.11 22:37

Vielen Dank Jaenicke,

Optimal wäre dann ein array?

Gruß Bernd


jaenicke - Sa 19.02.11 22:46

Nein, nur ein Beispiel für eine Funktion zur Auswertung der Variablen. Irgendetwas musst du da ja prüfen.