Registriert seit: 14. Dez 2008
189 Beiträge
Delphi 2005 Personal
|
Re: array sortieren
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}
|
|
Zitat
|