Einzelnen Beitrag anzeigen

KermitFrosch

Registriert seit: 26. Jan 2004
Ort: Hamburg
57 Beiträge
 
#1

Sortieren durch direktes Einfügen

  Alt 30. Jan 2004, 17:46
Ich bin Schüler und soll diesen Algorithmus anwenden. Doch mein prog spinnt ein wenig und ich weiß nicht woran es liegt.

Es soll die in einem Array vorgegebenen zahlen
sortieren...
wenn ich mein prog nun starte stehen die Zahlen 10,10,13 da und ich habe keine Ahnung warum
Hier is es mal:

Delphi-Quellcode:
 procedure TForm1.FormCreate(Sender: TObject);
var
i:Integer;
begin
 for i:=1 to anzahl do
  begin
 Zahl[0]:=0;
 Zahl[1]:=8;
 zahl[2]:=10;
 zahl[3]:=7;
 zahl[4]:=13;
  edtunsort.Text:=edtunsort.Text + IntToStr (zahl[i]) + ', ';
  end;
end;

procedure TForm1.BtnSortClick(Sender: TObject);
var
x,i,j:Integer;
 begin
  for i:=2 to anzahl do
   begin
    x:=zahl[i];
    zahl[0]:=x;
    j:=i-1;
    While x < zahl[j] do
     begin
      zahl[j+1]:=zahl[j];
      j:=j-1;
     end;
    zahl[j+1]:=x;
    edtsort.text:=edtsort.Text + InttoStr (zahl[i]) + ', ';

    end;

    end;
  Mit Zitat antworten Zitat