AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Mein Sortierprogramm funktioniert nicht!!!
Thema durchsuchen
Ansicht
Themen-Optionen

Mein Sortierprogramm funktioniert nicht!!!

Ein Thema von deepdragon · begonnen am 18. Nov 2007 · letzter Beitrag vom 18. Nov 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Mein Sortierprogramm funktioniert nicht!!!

  Alt 18. Nov 2007, 19:11
Der Source steht doch in der o.a. Demo (zumindest Quicksort).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
deepdragon

Registriert seit: 27. Mai 2007
22 Beiträge
 
Delphi 7 Personal
 
#12

Re: Mein Sortierprogramm funktioniert nicht!!!

  Alt 18. Nov 2007, 19:14
Zitat von DeddyH:
Der Source steht doch in der o.a. Demo (zumindest Quicksort).
ja aber dann hab ich den kopiert also in mein projekt reinkopiert und dann hat er wieder rumgemeckert...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Mein Sortierprogramm funktioniert nicht!!!

  Alt 18. Nov 2007, 19:16
Es hat auch niemnad gesagt du sollst den Code kopieren, sondern verstehn
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Mein Sortierprogramm funktioniert nicht!!!

  Alt 18. Nov 2007, 19:17
Delphi-Quellcode:
  procedure QuickSort(var A: array of Integer; iLo, iHi: Integer);
  var
    Lo, Hi, Mid, T: Integer;
  begin
    Lo := iLo;
    Hi := iHi;
    Mid := A[(Lo + Hi) div 2];
    repeat
      while A[Lo] < Mid do Inc(Lo);
      while A[Hi] > Mid do Dec(Hi);
      if Lo <= Hi then
      begin
        //VisualSwap(A[Lo], A[Hi], Lo, Hi);
        T := A[Lo];
        A[Lo] := A[Hi];
        A[Hi] := T;
        Inc(Lo);
        Dec(Hi);
      end;
    until Lo > Hi;
    if Hi > iLo then QuickSort(A, iLo, Hi);
    if Lo < iHi then QuickSort(A, Lo, iHi);
    //if Terminated then Exit; überflüssig, da Du keinen Thread verwendest
  end;
Aufruf dann mit QuickSort(DeinArray,Low(DeinArray),High(DeinArray) ). Das packst Du in die Ereignisroutine von ButtonQuicksortClick.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
deepdragon

Registriert seit: 27. Mai 2007
22 Beiträge
 
Delphi 7 Personal
 
#15

Re: Mein Sortierprogramm funktioniert nicht!!!

  Alt 18. Nov 2007, 19:21
Zitat von DeddyH:
Delphi-Quellcode:
  procedure QuickSort(var A: array of Integer; iLo, iHi: Integer);
  var
    Lo, Hi, Mid, T: Integer;
  begin
    Lo := iLo;
    Hi := iHi;
    Mid := A[(Lo + Hi) div 2];
    repeat
      while A[Lo] < Mid do Inc(Lo);
      while A[Hi] > Mid do Dec(Hi);
      if Lo <= Hi then
      begin
        //VisualSwap(A[Lo], A[Hi], Lo, Hi);
        T := A[Lo];
        A[Lo] := A[Hi];
        A[Hi] := T;
        Inc(Lo);
        Dec(Hi);
      end;
    until Lo > Hi;
    if Hi > iLo then QuickSort(A, iLo, Hi);
    if Lo < iHi then QuickSort(A, Lo, iHi);
    //if Terminated then Exit; überflüssig, da Du keinen Thread verwendest
  end;
Aufruf dann mit QuickSort(DeinArray,Low(DeinArray),High(DeinArray) ). Das packst Du in die Ereignisroutine von ButtonQuicksortClick.

Also wär das dann in meinem Fall:

procedure btnQuickSortClick(a[i],Low[i],High[i]);
?

also ich weiß es halt echt net so genau... sry...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Mein Sortierprogramm funktioniert nicht!!!

  Alt 18. Nov 2007, 19:31
Delphi-Quellcode:
procedure TForm1.btnQuickSortClick(Sender: TObject); //Methode von Form1
begin
  QuickSort(a,Low[a],High[a]); //Aufruf des Algos, wobei a dann das Array ist
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
deepdragon

Registriert seit: 27. Mai 2007
22 Beiträge
 
Delphi 7 Personal
 
#17

Re: Mein Sortierprogramm funktioniert nicht!!!

  Alt 18. Nov 2007, 19:51
Zitat von DeddyH:
Delphi-Quellcode:
procedure TForm1.btnQuickSortClick(Sender: TObject); //Methode von Form1
begin
  QuickSort(a,Low[a],High[a]); //Aufruf des Algos, wobei a dann das Array ist
end;
also das hab ich jetzt eingefügt aber er meint dann, dass "Quicksort" ein undefinierter Bezeichner ist...
  Mit Zitat antworten Zitat
mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#18

Re: Mein Sortierprogramm funktioniert nicht!!!

  Alt 18. Nov 2007, 20:17
Zitat von deepdragon:
Also wär das dann in meinem Fall:

procedure btnQuickSortClick(a[i],Low[i],High[i]);
?
Nein!!!! ARrrghhh
Zitat von deepdragon:
also ich weiß es halt echt net so genau... sry...
Das sieht man.

btnQuicksortclick ist eine Methode des Buttons, die dem Ereignis Click zugeordnet ist.
Du kannst dafuer keine eigene Parameterliste definieren.

Du must von dort aus DEINE Quicksort aufrufen:
Delphi-Quellcode:
procedure btnQuickSortClick(Sender:TComponent);
begin
   quicksort(a[i],Low[i],High[i]);
end;
procedure Form1.QuickSort(a[i],Low[i],High[i]);
begin
[...]
end;
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#19

Re: Mein Sortierprogramm funktioniert nicht!!!

  Alt 18. Nov 2007, 20:23
Klar, woher soll er die Funktion auch kennen? Du musst zuerst die Funktion deklarieren und implementieren, dann kannst du sie benutzen. Vielleicht wäre es am besten, wenn du zu dem Thema mal in die dsdt.info-Grundlagentutorials schaust?

[add]: roter kasten
  Mit Zitat antworten Zitat
mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#20

Re: Mein Sortierprogramm funktioniert nicht!!!

  Alt 18. Nov 2007, 20:34
Zitat von deepdragon:
]

also das hab ich jetzt eingefügt aber er meint dann, dass "Quicksort" ein undefinierter Bezeichner ist...
Du musst latuernich vorher Quicksort im InterfaceTeil deklarieren...
Delphi-Quellcode:
type
   TForm1 = class(TForm)
              [...]
      procedure QSort(var A: array of Integer;iLow,iHigh:integer);

     private
      { Private-Deklarationen }
     public
      { Public-Deklarationen }
  end;
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz