Autor Beitrag
Gattica
Hält's aus hier
Beiträge: 8

Delphi3

BeitragVerfasst: Sa 07.01.06 20:24 
Hi,
ich brauche eure hilfe. Ich soll ein Quicksortprogramm schreiben. In form einer procedure.
Das hab ich auch soweit gemacht. ich möchte jetzt die zehn ziffern über ein Button sortieren. Ich weiß aber nicht, wie ich die procedure mit dem Button verknüpfen kann um die Zahlen zu sortieren und wieder auszugeben. ich hab hier mal die procedure:


ausblenden 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:
procedure Quicksort(l,r:integer);
var
i,j,Mitte,Merke:integer;
begin
i:=l;
j:=r;
Mitte:=Feld[(l+r)div 2];
repeat
while Feld[i]<Mitte do Inc (i);
while Mitte <Feld[j]do Dec (J);
if i<=j then
begin
Merke:= Feld[i];
Feld[i]:= feld[j];
Feld[j]:= Merke;
Inc(i);
Dec(j);
end;
until i>j;

if l<j then Quicksort(l,j);
if i<r then Quicksort(i,r);
end;




wo muss ich diesen Block jetzt unterbringen um über den Sortierbutton die Zahlen sortieren zu können?

ich würde gerne wissen wie das funktioniert. Bitte helft mir. Vielen Dank schon im Vorraus.


Gattica

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Bruder Lal
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 31

WIN XP
Delphi 2005
BeitragVerfasst: Sa 07.01.06 22:04 
Möchtest du einfach nur dass die Prozedur über den Button aufgerufen wird? Das wäre

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
var i, j: Integer;
begin
  i:=3;  //Hier müssen die gewünschten Zahlen für 
  j:=7;  //l und r hin. Dieser Aufruf geht davon aus, dass das array Feld bereits mit Werten gefüllt ist
  Quicksort(i, j);
end;

War das das Problem oder hab ich dich missverstanden?