[quote="idontwantaname"]wenn es wirklich nur 5 werte sind, dann kannst du es so machen (ungetestet)
Delphi-Quellcode:
const
arr: array[0..4] of Integer = (1, 2, 3, 4, 2);
var
x, y: Integer;
pairs: Boolean;
begin
pairs := False;
for x := Low(arr) to High(arr) do
for y := Low(arr) to High(arr) do
if(arr[x] = arr[y]) and (x <> y) do
pairs := True; //Hier könnte man die Werte auch noch abspeichern, usw....
end;
Besser wäre dann
Delphi-Quellcode:
for x:=Low(arr) to High(arr)-1 do
for y:=x+1 to High(arr) do
if arr[x]=arr[y] then ...
- Das funktioniert auch (hinter IF ... muß ein THEN folgen (nicht DO))
- Das reduziert den Aufwand erheblich (die innere Schleife wird nicht n^2 mal durchlaufen,
sondern nur n/2*(n-1) mal, wobei n die Anzahl der Elemente in arr ist.