Hallo erstmal an alle.
Ich hab einen Fehler bei einem kleinen Programm: eigentlich sollte ein zufällig erzeugtes Feld ausgegeben werden dass dann mit Bubblesort (durch While) oder Minsort sortiert wird allerdings wird immer dass erste mal wenn ich auf die button klicke das Feld nicht richtig sortiert. Wenn ich aber ein neues Feld erzeuge wird es richtig sortiert. Kann mir irgendjemand helfen???
Hier wird das Feld erzeugt (müßte eigentlich richtig sein?!)
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var i: integer;
begin
for i:= 0 to 9 do
begin
f[i]:=(random(49)+1);
stringgrid1.cells[i,0]:=inttostr(f[i])
end;
end;
Hier der Minsort Quelltext:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
VAR i, a, u, m :integer;
BEGIN
FOR a:= 1 TO 9 DO
BEGIN
u:=a;
FOR i:= a+1 TO 10 DO
IF f[i] < f[u] THEN
BEGIN
u:=i;
m:=f[u];
f[u]:=f[a];
f[a]:=m;
END;
END;
FOR i:= 1 TO 10 DO
stringgrid1.cells[i-1,0]:= inttostr(f[i]);
END;
Und hier Bubble mit While
Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
var i,m,e: integer;
BEGIN
e:= 10;
WHILE e>1 DO
BEGIN
FOR i:= 0 TO e-1 DO
BEGIN
IF f[i]>f[i+1] THEN
BEGIN
m:=f[i];
f[i]:=f[i+1];
f[i+1]:=m;
END;
END;
e:= e-1;
END;
FOR i:= 0 TO 9 DO
stringgrid1.cells[i,0]:=inttostr(f[i])
END;
Bitte helft mir ! ! ! !
[edit]Ich hab mir das Programm noch mal angesehen es wird jeweils ein Feld sortiert und das nächste nur teilweise[/edit]