Thema: Delphi array sortieren

Einzelnen Beitrag anzeigen

AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#47

Re: array sortieren

  Alt 23. Dez 2008, 23:53
Also ich habe jetzt den Quelltext zussammen, meine Ergebnisse zeigen mir allerdings, dass er scheinbar nicht sortiert!
Ich hänge mal den zugehörigen Quelltext an, vielleicht fällt dem ein oder anderen etwas auf...
Es sei auch egal wie die Bezeichnung der Variablen aussieht, Schönheitskorrekturen kommen später!
Delphi-Quellcode:
{usw.}
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    Procedure BubbleSort(var B: Array of byte);
  private
    { Private-Deklarationen }
     {Procedure BubbleSort(var B: Array of byte);}
  public
    { Public-Deklarationen }
  end;
 type punkt1 = array[1..4, 1..6] of byte;
 type punkt2 = array of byte;
var
  Form5: TForm5;
  A: punkt1;
  B: punkt2;
  aa, ab, ac, ad, ae, af, df: word;
  ba, bb, bc, bd, be, bf, ef: word;
  ca, cb, cc, cd, ce, cf, gf: word;
  ma, wf: word;
  s1, s2, s3:integer;
implementation

uses Unit8;

{$R *.dfm}


Procedure TForm5.BubbleSort(var B: Array of byte);
   Procedure Swap(var xx,yy:byte);
     var
      Swp: byte;
      begin
        swp:=xx;
        xx:=yy;
        yy:=swp;
      end;

var i,j : byte;
Begin
For i:= 1 to 24 Do
   For j:= 1 To 24-1 Do
       If (B[j] > B[j+1]) Then Swap( B[j], B[j+1] );
End;



procedure TForm5.Button1Click(Sender: TObject);
begin
A[1,1]:= strtoint(edit1.Text);
{usw.}

{Wahlpflichtfächer}


if edit55.Visible then
begin
    B[19]:=B[24];B[13]:=B[23];B[7]:= B[22];B[1]:=B[21];
    setlength(B, 20); end;
if edit56.Visible then
begin
    B[20]:=B[24];B[14]:=B[23];B[8]:= B[22];B[2]:=B[21];
    setlength(B, 20); end;
if edit57.Visible = true then
begin
    B[21]:=B[24];B[15]:=B[23];B[9]:= B[22];B[3]:=B[21];
    setlength(B, 20); end;
if edit58.Visible = true then
begin
    B[22]:=B[24];B[16]:=B[23];B[10]:= B[22];B[4]:=B[21];
    setlength(B, 20); end;
if edit59.Visible = true then
begin
    B[23]:=B[24];B[17]:=B[23];B[11]:= B[22];B[5]:=B[21];
    setlength(B, 20); end;


Bubblesort(B);

wf:=B[1]+B[2]+B[3]+B[4]+B[5];
form8.Panel6.Caption:=inttostr(wf);

{etc}
  Mit Zitat antworten Zitat