![]() |
Test, ob 5 Integer verschiedene Werte haben
Hallo,
ich stehe mal wieder auf dem Schlauch.
Delphi-Quellcode:
Jeder der i-Werte muss also verschieden von den anderen sein
var
i1,i2,i3,i4,i5: Integer; begin i1:= 1; i2:= 2; i3:= 3; i4:= 4; i5:= 6; Check(i1,i2,i3,i4,i5)=True; i5:= 4; Check(i1,i2,i3,i4,i5)=False; Wie muss die Check-Funktion aussehen ? Performance spielt keine Rolle. Bisheriger Ansatz (alles mit and verknüpft). i1<>i2 i1<>i3 i1<>i4 i1<>i5 i2<>i3 i2<>i4 i2<>i5 i3<>i4 i3<>i5 i4<>i5 Geht das auch anders ? Danke Heiko |
Re: Test, ob 5 Integer verschiedene Werte haben
Zumindest müsstest du die Werte in ein Array einlesen.
Von da aus hast du verschiedene Möglichkeiten: Entweder du probierst alle Möglichkeiten mit einer For-Schleife durch (also praktishc das, was du oben manuell gemacht hast), oder du Sortierst das Array, läufst es von Anfang bis Ende durch und prüfst bei jedem Eintrag ob es sich vom Vorhergehenden unterscheidet. Was effizienter ist, hängt schätzungsweise vom Sortierverfahren und der Länge des Arrays ab. Aber was du einsetzt ist wohl Geschmackssache, da es dir ja auf Performance nicht anzukommen scheint. |
Re: Test, ob 5 Integer verschiedene Werte haben
Das ist der ideale Fall für offene Arrayparameter ;)
Delphi-Quellcode:
funtion Check(arr: array of integer): boolean;
var x, y: intger; begin Result := false; for x := 0 to high(arr) - 1 do for y := x + 1 to high(arr) do if arr[x] = arr[y] then exit; Result := true; end; Check([i1, i2, i3, i4, i5]); |
Re: Test, ob 5 Integer verschiedene Werte haben
Zitat:
|
Re: Test, ob 5 Integer verschiedene Werte haben
Spendier der Funktion noch ein c und dann passt es *g*
|
Re: Test, ob 5 Integer verschiedene Werte haben
Hallo,
uiuiui, klappt ! Danke !! Ds kannte ich ja noch gar nicht ... *zugeb* zum Spendieren, ich gebe dem intger noch ein e ;) Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 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