Hallo
Ich soll diesen Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.Button1Click(Sender: TObject); begin zeile:= 0; eing_zahl:= StrToInt (Edit1.Text);
for i := 4 to eing_zahl do begin primzahl :=true; teiler := 2;
repeat if i mod teiler = 0 then primzahl := false; inc (teiler); until teiler >=Trunc(sqrt(i));
if primzahl = true then begin inc (zeile); StringGrid1.Cells[0,zeile] := IntToStr(i); StringGrid1.RowCount := StringGrid1.RowCount+1; end;
end; |
Also diesen Code soll ich in eine repeat-schleife umsetzten (also die äußere for-schleife als äußere repeat schleife schreiben). Zudem soll ich i jeweils um 2 erhöhen. (hierbei handelt es sich um ein programm dass dir alle primzahlen bis zu einem gewissen bereich ausgibt; deshalb i um 2 erhöhen, also damit man nur ungerade zahlen prüft)
ich habe das folgendermaßen umgesetzt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.Button1Click(Sender: TObject); begin zeile:= 0; eing_zahl:= StrToInt (Edit1.Text); i:= 3;
repeat i:= i+2; primzahl:=true; teiler := 2;
repeat if i mod teiler = 0 then primzahl := false; inc (teiler); until teiler >= i-1; until i = eing_zahl;
if primzahl = true then begin inc (zeile); StringGrid1.Cells[0,zeile] := IntToStr(i); StringGrid1.RowCount := StringGrid1.RowCount+1; end; |
Dieser Code fukt. nicht, ich hab irgenwie ne endlosschleife gebaut. könnt ihr mir bitte helfen?
DANKE!
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Di 20.01.2009 um 17:58