Thema: Delphi Zahl in Array

Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#8

Re: Zahl in Array

  Alt 3. Apr 2006, 20:59
Delphi-Quellcode:

var
  Zahl,I: Integer;
  Count: array[0..9] of Integer;
  Result: String;
begin
  FillChar(Count, SizeOf(Count), 0);

  Zahl := 1234562345;

  while Zahl <> 0 do
  begin
    Inc(Count[Zahl mod 10]);
    Zahl := Zahl div 10;
  end;

  for I := Low(Count) to High(Count) do
    Result := Result + StringOfChar(Char(I + Ord('0')), Count[I]);
end;
Die einfachste und schnellste Sortierung ist ein indiziertes Array. Im Obigen Beispiel zerlegen wir die Zahl in ihre Ziffern 1,2,3,4,5,6,2,3,4,5 und benutzen diese als Index in Count[]. Darin zählen wir einfach das Auftreten jeder Ziffer. Wir haben also im Count[] array schon von Hause aus nach Ziffern 0 bis 9 sortiert und deren Anzahl ihres Auftretens.

In der Ausgabe als sortierter String gehen wir nun einfach dieses Count[] Array von unten nach oben -> von 0 bis 9, durch und bauen den String zusammen.

Gruß Hagen
  Mit Zitat antworten Zitat