![]() |
Die größte / Zweitgrößte von 4 Variablen bestimmen
Hallo,
hoffe bin hier richtig. Habe eine Frage undzwar: Ich habe 4 Integer Variablen, die ich vergleichen möchte und schaun welche die Größte bzw Zweitgrößte ist, oder welche 2 Variablen größer als die anderen 2 Variablen sind. Allerdings wird es doch sicherlich eine andere Lösung geben außer etliche IF-Anweisungen zu schreiben oder? Gruß |
Re: Die größte / Zweitgrößte von 4 Variablen bestimmen
schau dir mal die sortieralgorythmen an -> bubblesort! ist der einfachste, und ohne unnötige if schleifen.
|
Re: Die größte / Zweitgrößte von 4 Variablen bestimmen
Ein Array, zwei for-schleichen, einmal if then zwischendrin und eine integervariable als zwischenspeicher für den größten wert ...
Ein wenig nachdenken ... et voilà ... mfG Markus |
Re: Die größte / Zweitgrößte von 4 Variablen bestimmen
Naja, die Math-Unit einbinden und dann:
Größte: max( max(i1, i2), max(i3, i4)); Zweitgrößte: min( max(i1, i2), max(i3, i4)); etc. kommt zwar auch auf IFs heraus, aber das kommt es ja in jedem Fall. |
Re: Die größte / Zweitgrößte von 4 Variablen bestimmen
@Vjay
so einfach ist es leider nicht: i1=10, i2=8, i3=4, i4=3 //Edit: Hier ist eine mögliche Lösung:
Delphi-Quellcode:
Gruß Hawkeye
procedure Sort (a, b, c, d: Integer; var nr1, nr2, nr3, nr4: Integer);
var tmp, tmp1, tmp2: Integer; begin // a und b sortieren if (a < b) then begin tmp := a; a := b; b := tmp; end; // c und d sortieren if (c < d) then begin tmp := c; c := d; d := tmp; end; // größte und kleinste Zahl bestimmen nr1 := Max(a, c); nr4 := Min(b, d); // verbleibende Zahlen ermitteln tmp1 := Min(a, c); // oder a + c - nr1 tmp2 := Min(b, d); // oder b + d - nr4 // zweit- und drittgrößte Zahl ermitteln nr2 := Max(tmp1, tmp2); nr3 := Min(tmp1, tmp2); end; |
Re: Die größte / Zweitgrößte von 4 Variablen bestimmen
danke für die antworten hat geklappt
|
Re: Die größte / Zweitgrößte von 4 Variablen bestimmen
@ Hawkeye219
Stimmt, mal wieder nicht zuende gedacht! Kann ja garnicht funktionieren, erinnert mich an das US-Wahlsystem :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 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