Hier:
Delphi-Quellcode:
...
//Temp-Array
SetLength(Temp,MaxVal);
//Temp nullen
for i:=0 to MaxVal do Temp[i]:=0;
...
oder hier:
Delphi-Quellcode:
...
//Werte schreiben
for i:=1 to MaxVal do //für alle Zahlen
for j:=1 to Temp[i] do
...
Außerdem versteh ich dein rumgepfriemel mit der index-Variable nicht. Warum lässt du nicht einfach den Zähler von 0 bis länge-1 laufen?