AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Quicksort: Rekursiver Aufruf funktioniert nicht!

Quicksort: Rekursiver Aufruf funktioniert nicht!

Ein Thema von simonator11 · begonnen am 10. Feb 2019 · letzter Beitrag vom 12. Feb 2019
Antwort Antwort
Seite 1 von 2  1 2   
simonator11

Registriert seit: 10. Feb 2019
4 Beiträge
 
#1

Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 10. Feb 2019, 16:48
Hallo!

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

Beim Programmieren vom rekursiven Quicksort habe ich ein Problem mit Verzweigungen:
quicksort.png


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!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.017 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 10. Feb 2019, 17:00
Lagere den Code in eine eigenständige Routine aus, die du über die Button-Click Methode aufrufst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
simonator11

Registriert seit: 10. Feb 2019
4 Beiträge
 
#3

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 10. Feb 2019, 18:14
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?
Miniaturansicht angehängter Grafiken
quicksort2.png  
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
926 Beiträge
 
Delphi 7 Professional
 
#4

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 10. Feb 2019, 19:05
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.
  Mit Zitat antworten Zitat
simonator11

Registriert seit: 10. Feb 2019
4 Beiträge
 
#5

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 10. Feb 2019, 19:41
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
Miniaturansicht angehängter Grafiken
quicksort3.png  
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.017 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 10. Feb 2019, 19:59
Wie viele Parameter hat deine Deklaration und wie viele der Prozedurkopf im Code?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Schokohase

Registriert seit: 17. Apr 2018
674 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 10. Feb 2019, 20:05
Hier ein rekursiver Quicksort-Algorithmus. Den kannst du ja mal ausprobieren
2019-02-10-21_03_22-project2-delphi-10.3-community-edition-unit2.png
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.017 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 10. Feb 2019, 21:26
Damit dürfte er wohl etwas überfordert sein, da ja anscheinend noch die rein sprachlichen Grundlagen fehlen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
6.788 Beiträge
 
Delphi XE4 Professional
 
#9

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 11. Feb 2019, 03:19
Hallo
jetzt hast du nicht nur l und r als Parameter,
sondern auch noch deine lokalen Variablen genommen, wozu?
Heiko
  Mit Zitat antworten Zitat
simonator11

Registriert seit: 10. Feb 2019
4 Beiträge
 
#10

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 11. Feb 2019, 15:34
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!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf