Zitat:
while numbers[counter] <> 0 do
Du brichts ab, sobald dort 0 drin steht, also sind dann alle höheren Dezimalstellen natürlich undefiniert.
* entweder du initialisiert voher gefälligst diese Werte (alles mit 0 füllen)
* oder du mußt die nichtbelegten Werte nachher noch mit 0 füllen
* oder du lässt immer alle gewünschten Dezimalstellen durchrechnen
Und nun rate auch mal was passiert, wenn da eine 4-stellige oder noch größere oder vielleicht sogar negative Zahl drin steht?
Du solltest dringend bei deinen Programmen immer die Bereichs- und vielleicht sogar die Überlaufprüfung aktivieren. (z.B.
{$R+}
an den Anfang aller deiner eigenen Units)