Also vorneweg danke für die alternative Lösung aber ich wär ganz froh wenn ich das Programm mit meiner ursprünglichen Idee ans Laufen bekommen würde.
Habe mir den Ratschlag dass der array zu klein ist zu Herz genommen und micht über SetLength informiert (und es eingebaut). Klappen tut es immer noch nicht.
Delphi-Quellcode:
program ex69;
{$APPTYPE CONSOLE}
uses
SysUtils,
math;
var
number:extended;
i,k:integer;
square:array of integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
{$Q+}
{$R+}
readln(number);
i:=0;
while number>power(2,i) do
inc(i);
k:=i;
setlength(square,k);
while (number<>0) do
begin
while number>power(2,i) do
inc(i);
i:=i-1;
number:=(number-(power(2,i)));
square[i]:=1;
end;
for i:=k downto 0 do
writeln(square[i]);
readln;
end.
--> Debugger
Exception Notification: Project ex69.exe raised
exception class ErangeError with message 'Range check error'. Process stopped. Use Step or Run to continue.