Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Quicksort: Rekursiver Aufruf funktioniert nicht! (https://www.delphipraxis.net/199666-quicksort-rekursiver-aufruf-funktioniert-nicht.html)

simonator11 10. Feb 2019 16:48

Quicksort: Rekursiver Aufruf funktioniert nicht!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!

Ich bin neu im Forum und eher ein Delphi-Einsteiger.

Beim Programmieren vom rekursiven Quicksort habe ich ein Problem mit Verzweigungen:
Anhang 50668


Ich habe im Prozedurkopf Sender: TObject. Diesen Parameter muss ich (neben jeweils l/j und i/r) im rekursiven Prozeduraufruf in die Verzweigungen einbauen. Trotzdem kriege ich eine Fehlermeldung ,,Wrong number of parameters specified for call to "<Procedure Variable>" ". Ich weiß nicht mehr weiter :? .

Ich freue mich auf eine Antwort!

Luckie 10. Feb 2019 17:00

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!
 
Lagere den Code in eine eigenständige Routine aus, die du über die Button-Click Methode aufrufst.

simonator11 10. Feb 2019 18:14

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Okay, ich habe jetzt den Code ausgelagert in eine andere Prozedur (TForm1.Quicksort). Nun habe ich ein Problem mit der Deklaration - Im Class habe ich es als procedure Quicksort deklariert. Die Fehlermeldung lautet: ,,Error: function header doesn't match any method of this class "Quicksort(LongInt;LongInt);" ".
Muss ich den Quicksort vielleicht doch in public oder private deklarieren?

Delphi.Narium 10. Feb 2019 19:05

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!
 
Die Prozedurdeklarationen müssen übereinstimmen.

Eventuell geht es auch im Class mit Parametern (also vollständig) und in der Implementierung dann ohne Parameter. Beides immer identisch halten, finde ich aber besser, damit man immer und überall sehen kann, wie die Prozedurdeklaration aussieht.

simonator11 10. Feb 2019 19:41

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe es probiert mit der Prozedurdeklaration mit Parametern im Class, aber es kommen noch mehr Fehler raus. Neben den schon genannten Fehlermeldungen kommt noch ,,Error: Found Declaration"...
Ich füge noch ein Bild vom Deklarationsteil hinzu; ich hoffe,dass es nur ein kleines Problem ist :-D

Luckie 10. Feb 2019 19:59

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!
 
Wie viele Parameter hat deine Deklaration und wie viele der Prozedurkopf im Code?

Schokohase 10. Feb 2019 20:05

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ein rekursiver Quicksort-Algorithmus. Den kannst du ja mal ausprobieren
Anhang 50673

Luckie 10. Feb 2019 21:26

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!
 
Damit dürfte er wohl etwas überfordert sein, da ja anscheinend noch die rein sprachlichen Grundlagen fehlen.

hoika 11. Feb 2019 03:19

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!
 
Hallo
jetzt hast du nicht nur l und r als Parameter,
sondern auch noch deine lokalen Variablen genommen, wozu?

simonator11 11. Feb 2019 15:34

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!
 
Also es lag an den Prozedurdeklarationen und den Parametern. Meiner Meinung nach waren die Fehlermeldungen aber ein bisschen seltsam.
Trotzdem besten Dank für die Hilfe und Ratschläge! :firejump:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr.
Seite 1 von 2  1 2      

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