Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Aus 6 Werten den kleinsten Wählen und anzeigen lassen


Masta_Rafa - Mo 08.09.08 12:27
Titel: Aus 6 Werten den kleinsten Wählen und anzeigen lassen
Hallo,

bin mit meinem Programm jetzt fertig. Habe aber folgendes Problem:

Zum Schluss bekomme ich 6 Varianten für die Gesamtkosten raus

Gesamtkosten1
Gesamtkosten2
Gesamtkosten3
Gesamtkosten4
Gesamtkosten5
Gesamtkosten6

Jedoch soll von den 6 Gesamtkostenvarianten nur diejenige, mit den geringsten Kosten in einem Edit Feld angezeigt werden.

Frage: Wie bekomme ich dies hin

1.entweder über If- Anweisungen oder wenn zu aufwändig

2.über Arrays

Ich danke euch

lg


oldmax - Mo 08.09.08 12:34

Hi
so in der Art, wie du es beschrieben hast, kommt sowieso nur If .. in Frage, was willst du mit Array? Mach dir mal Gedanken, wie siehst du denn, welches die kleinste Zahl ist ? Na klar, erste Zahl und 2. vergleichen.
Kleinere merken und mit 3. Zahl vergleichen. Wieder die kleinere merken und irgendwann bist du dann bei der letzten Zahl und davon die kleinere ist dann das Ergebnis....
Nun brauchst du nur noch deine If und eine Hilfsvariable, in der du dir den kleineren Wert merkst.
Ist doch ganz easy
gruß oldmax


Masta_Rafa - Mo 08.09.08 12:42

probiere jetzt mal alles aus ....

danke


Masta_Rafa - Mo 08.09.08 13:10

Alles klar,

funktioniert alles. hab am anfang nicht an die hilfsvariablen gedacht. danke für den tipp

lg


ub60 - Mo 08.09.08 17:55

user profile iconoldmax hat folgendes geschrieben:
was willst du mit Array?

Also mit einem Array geht das Ganze auch für 20 Werte noch einfach :lol: , z.B. so:

Delphi-Quelltext
1:
2:
3:
4:
  Minimum:=Gesamtkosten[1];
  for i:=2 to 6 do
    if Gesamtkosten[i]<Minimum
      then Minimum:=Gesamtkosten[i];

ub60


oldmax - Di 09.09.08 06:39

Hi
Nun will ich aber auch mal klugschei....
Zitat:
Zitat:
Frage: Wie bekomme ich dies hin

1.entweder über If- Anweisungen oder wenn zu aufwändig

2.über Arrays


Vorschlag....


Delphi-Quelltext
1:
2:
3:
4:
 Minimum:=Gesamtkosten[1];  
  for i:=2 to 6 do  
    if Gesamtkosten[i]<Minimum  
      then Minimum:=Gesamtkosten[i];


Lass mich mal raten: Minimum = Hilfsvariable ?
Vergleich über If ?
Und wie bitte kommen nun

Zitat:
Gesamtkosten1
Gesamtkosten2
Gesamtkosten3
Gesamtkosten4
Gesamtkosten5
Gesamtkosten6

ins Array ?
Nich das ich Array's ausschließen will, aber bei der Fragestellung ist's eindeutig !
Natürlich sind Arrays für Zahlenreihen geeignet, wesentlich besser als Einzelvariablen mit lfdNr im Namen. Der nutzt keinem etwas, deshalb ist's nicht verkehrt, ein Array einzusetzen. Aber ich denke, der Fragesteller hat verstanden, worauf es ankommt. Bei Hausaufgaben versuche ich, ohne Quellcode auszukommen und lediglich die Vorgehensweise zu erläutern. (Zugegeben, leider nicht immer erfolgreich...)
Gruß oldmax


mkinzler - Di 09.09.08 08:28


Delphi-Quelltext
1:
Minimum := min ( Gesamtkosten1 , min ( Gesamtkosten2, min( Gesamtkosten3, min ( Gesamtkosten4, min( Gesamtkosten5, min( Gesamtkosten6))))));                    


oldmax - Di 09.09.08 09:23

ooch man, mit fertigen Functions von Delphi kann das doch jeder.....
:? Außerdem, auch nur mit Hilfsvariable.... :P
Gruß oldmax


mkinzler - Di 09.09.08 09:36

Warum soll isch es selber machen, wenn es passende Funktionen in Standardbibliotheken gibt?
Zudem benötigt der Code keine Hilfsvariable.


Delphi-Quelltext
1:
Edit1.Text := Format( '%.2d', min ( ...