![]() |
Mehrere Variablen vergleichen
Hallo, ich möchte gerne 9 Variablen vergleichen (alles integer).
Bedingung ist, dass alle unterschiedlich sind, also kein Wert doppelt vorkommen darf. Leider kann ich nicht schreiben
Delphi-Quellcode:
Gibt es eine andere Möglichkeit, das zu überprüfen?
if a<>b<>c<>d<>e<>f<>g<>h<>i then ...
Liebe Grüße! |
Re: Mehrere Variablen vergleichen
Wenn du die in einem Array speichern würdest, wäre das für dich einfacher. Dann könntest du das mit for Schleifen lösen
|
Re: Mehrere Variablen vergleichen
Ok, danke. Dann werde ich das in ein Array packen...
|
Re: Mehrere Variablen vergleichen
Jupp, die Schleife ist keine Schlechte Idee, ansonsten mußt du ja so oder so jede Variable mit Jeder vergleichen, was natürlich 9*(9-1) Vergleiche ergibt.
Optimiert, durch Auslassung der äquivalenten Vergleiche ( a<>b = b<>a ), ergibt das ein bissl weniger:
Delphi-Quellcode:
PS: Bei der Schleife mußt du natürlich die selben Vergleiche durchführen, aber dieses läßt sich sehr leicht über zwei verschachtelte For-Schleifen in 3 Zeilchen lösen.
if (a<>b) and (a<>c) and (a<>d) and (a<>e) and (a<>f) and (a<>g)
and (a<>h) and (a<>i) and (b<>c) and (b<>d) and (b<>e) and (b<>f) and (b<>g) and (b<>h) and (b<>i) and (c<>d) and (c<>e) and (c<>f) and (c<>g) and (c<>h) and (c<>i) and (d<>e) and (d<>f) and (d<>g) and (d<>h) and (d<>i) and (e<>f) and (e<>g) and (e<>h) and (e<>i) and (f<>g) and (f<>h) and (f<>i) and (g<>h) and (g<>i) and (h<>i) then |
Re: Mehrere Variablen vergleichen
Viel weniger Code wird dabei aber auch nicht herauskommen :(
|
Re: Mehrere Variablen vergleichen
Aber auf jeden Fall übersichtlicher. Oder sorgt vorher dafür, dass die Variablen keinen vorhandenen Wert annehmen können
|
Re: Mehrere Variablen vergleichen
Zitat:
Edit: Da war Markus schneller. |
Re: Mehrere Variablen vergleichen
Volle Zustimmung, kein Widerspruch :)
|
Re: Mehrere Variablen vergleichen
Ich werfe folgende Idee in den Raum:
StringList verwenden mit Sorted auf TRUE und Duplicates auf dupError alle Integer-Variablen per IntToStr dieser StringList hinzufügen und das Ganze innerhalb try - except -> wenn's kracht, gab's ne Doublette oder alternativ, wenn man Exceptions nicht mag: Duplicates auf dupIgnore -> hinterher Count überprüfen: falls kleiner als Anzahl Variablen, gab's ne Doublette Grüße, blauweiss |
Re: Mehrere Variablen vergleichen
Lieber eine Liste mit Integern oder Extendedwerten
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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