Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Arrays auf doppelte Einträge prüfen
HenryHux - Di 12.10.10 21:03
Titel: Arrays auf doppelte Einträge prüfen
Hi,
ich will ein Integer-Array auf doppelte Einträge prüfen.
Es sind 5-10 Einträge pro Array und ich wüsste halt nur die einzelnen Einträge mit if and zu überprüfen.
Bei 2 oder 3 Einträgen kann man das ja noch machen. Aber bei 5 oder mehr wirds unangenehm.
Also meine Frage, wie kann ich herausfinden ob es doppelte Einträge gibt? (Die Einträge werden vorher aufsteigend mit BubbleSort sortiert).
Würde reichen, wenn mir die Funktion/Prozedur einen Bool wert zurückgibt.
Über jeden Tipp freue ich mich =)
Lg
Henry
Gerd Kayser - Di 12.10.10 21:32
Da die Werte sortiert sind, brauchst Du in einer Schleife doch nur jeweils zwei nebeneinander liegende Werte auf Gleichheit zu prüfen. Ich würde dazu eine while-Schleife nehmen und zwei Abbruchbedingungen setzen:
1. Abbrechen, wenn zwei gleiche Werte gefunden wurden. Oder:
2. Der vorletzte mit dem letzten Integerwert wurde verglichen (Array komplett durchgeprüft).
Beispiel (nicht ausgetestet):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| var IntArray : array [1..10] of integer; Index : integer; ... Index := 1; Result := false; while (Index < 10) and (not Result) do begin if IntArray[Index] = IntArray[Index + 1] then Result := true; Inc(Index); end; |
Edit1: Beispiel hinzugefügt
HenryHux - Di 12.10.10 22:04
Danke, klappt perfekt =)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!