Guten Abend
Ich habe versucht, eine Funktion zu entwerfen, die jedes Zeichen in einem String mit jedem anderen vergleicht und falls ein Zeichen mehrfach auftaucht, alle bis auf das vorne stehende Zeichen zu löschen. Als Beispiel: Aus REGENSCHIRMSTAENDER müsste REGNSCHIMTAD werden. Allerdings löscht er bei mir alle Zeichen die 3 mal oder öfter vorkommen komplett, so dass RGNSCHIMTAD entsteht.
Delphi-Quellcode:
function DeleteChar(s:
string):
string;
var i,j,n: integer;
begin
n:=length(s);
j:=n-1; i:=0;
for i:=0
to n
do begin
for j:=0
to n
do begin
if ((s[i] = s[j])
and (i <> j))
then begin
delete(s, j, 1);
dec(n);
end;
end;
end;
Sieht jemand den Fehler?
Gruß
Liu