Hi
Ich soll mit einem Dyn. Array das Sieb des Eratostenes schreiben. Die Grundidee dafür ist nicht so schwer: Ich nehme die erste Zahl in meinem Array (das von 2 bis 1000 gefüllt ist) und streiche alle Vielfachen der Zahl raus. Dann nehme ich die nächste Zahl(die ungleich 0 ist) und so weiter. Alle Zahlen denen ich so begegne müssen dann prim sein. Die will ich dann in einem Stringgrid (sg1) ausgeben. Ich komme bei dem Code einfach nicht weiter.
Vielleicht kann mir jemand helfen.
Delphi-Quellcode:
lenght:=strtoint(egroesse.Text);
SetLength(Liste,lenght);
for index:=1 to lenght do
begin
Liste[index]:=index;
end;
index:=1;
abstand:=1;
zeile:=1;
while index<lenght do
begin
inc(abstand);
index:=abstand;
if liste[index] > 0 then
begin
while index < lenght do
begin
index:=index+abstand;
liste[index]:=0;
end;
end
else
begin
sg1.RowCount:=sg1.RowCount+1;
sg1.cells[0,zeile]:=inttostr(zeile);
sg1.cells[1,zeile]:=inttostr(index);
inc(zeile);
end;
TXHbyTOX
Erwarte das Beste und bereite dich auf das Schlimmste vor.