Pascal Programmieren - BinarySearchTree

Hallo!!

Ich bräuchte Hilfe bei meinem BinarySearchTree in Pascal.

Mein Baum besteht aus einem Record mit Integer-Zahlen.

Möchte alle Werte der „Knoten“,mit einem Wert unter 2 zusammenzuzählen…

Da der Baum ja sortiert ist, hätte ich einfach überlegt bis zum ersten knoten zu suchen der darüber ist und dann den baum(ab dem gefundenen knoten) mit einer rekursion zusammenzuzählen.

Leider schmeisst mir das programm einen runtime error raus.

BITTE um HILFFEE!!
Besten Dank!!!

FUNCTION SumOfNode3(t: Tree; value: integer): INTEGER;
VAR
n: Node;
BEGIN
n := t;

IF t = NIL THEN

else begin

while n nil do begin

if value

sorry, keine Idee=====
Aus rechtlichen Gründen ist eine konkrete Rechts- und Steuerberatung bei wer-weiss-was nicht erlaubt. Entsprechende Anfragen werden von unseren Moderatoren gelöscht.

Erlaubt ist die Behandlung abstrakter Fragen.
Bitte stelle deshalb keine Fragen zu persönlichen Fällen (in ich-Form).

Ausführliche Informationen unter http://www.wer-weiss-was.de/app/faqs/classic?entries…

Hallo,

ich bin schon länger raus, weil ich kaum noch was mit Delphi/Pascal mache, von daher kann ich dir vielleicht nicht helfen…

Aber ein paar Sachen fallen mir gleich auf Anhieb auf:

IF t = NIL THEN
-> Akzeptiert der Compiler das tatsächlich ohne folgende Anweisung?

else begin
while n nil do begin
-> Macht die oberen beiden Zeilen überflüssig, weil n ja mit t initialisiert wird…

Interessant wäre auch der RTE-Code…

Tschüss erstmal

  • Ulli -

Hallo Martina317
ich versthe Deine Logik nicht ganz
If t = NIL (warum t und nicht n)
und anschließend
while n NIL
macht keine Sinn für mich.

Habe leider momentan keinen PASCAL-Compiler im Einsatz aber DU solltest das Abbruchkriterium nochmals prüfen.
Ich denke DU erzeugst eine Endlosschleife

Gruß
bakelec

Hallo Martina317,

ich mich mit diesem Thema noch nicht beschäftigt. Kann deswegen leider nicht helfen!