Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.077 Beiträge
 
Delphi XE2 Professional
 
#12

Re: Mehrere Variablen auf Ungleichheit prüfen

  Alt 26. Jun 2006, 02:32
Zitat von ferby:
Hallo,


sind die 10 Variabeln in einem Array? Weil dann würd es leicht gehen




Delphi-Quellcode:

// variabelngleich: boolean;
// variabelspeicher: array [1..10] of string;

variabelngleich:=false;

for i:=1 to 10 do
for i2:=1 to 10 do
if i2<>i then
if variabelspeicher[i] = variabelspeicher[i2] then variabelngleich:=true;
Hab's nicht getestet....
Besser wäre es wohl so :

Delphi-Quellcode:
// var
// variabelspeicher: array [1..10] of string;

FUNCTION CheckNotEqual:boolean;
var i,j:integer;
begin
   result:=false;
   for i:=Low(variabelspeicher) to High(variablenspeicher)-1 do
      for j:=i+1 to High(variablenspeicher) do
        if variabelspeicher[i]=variabelspeicher[j] then exit;
   result:=true;
end;
Die Funktion gibt True zurück, wenn keine gleichen Werte gefunden wurden

Vorteil:
Es werden nicht 10*10=100 Vergleiche durchgeführt, sondern im worst case 45 und im best case nur 1 Vergleich.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat