Thread Routine für Lösg. math. Funktionen: Brauche Idee oder Vorschlag (36 answers)
Opened by janek at 2004-05-06 15:50

lichtkind
 2004-05-06 17:04
#10963 #10963
User since
2004-03-22
5680 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
naja es ist das was sie mir an der uni einreden wollen es ist etwas theoretisch
aber was solls. mein pascal ist eigerostet deswegen erklär ichs mal rein logisch.
mit nodes meine ich einen knoten in dem baum. zuerst musst du dir einen datentyp basteln der so einen knoten representiert.
diese knoten bilden eine baumartig verkette liste.
wenn du solche sachen grad nicht kennst solltest du wenigsten mit zeigern
und datentypen sattelfest sein.
so ein knoten muss beinhalten:
-knoten typ ()
-inhalt (operator oder zahl)
-liste von kindern(erster unterknoten)
-geschwisterknoten (next oder prev und next)
-parent
den typ kann man sich sparen da nur operations knoten kinder haben(unterknoten)
es wirkt jetzt vielleicht kompliziert dafür geht das berechnen dann einfach.

wenn du es so machst brauchst du auch keine hilfszeigerw weil du von jedem punkt aus wieder zurück kannst. eine weitere variable die immer auf den rootnode(spitze des baums) zeigt ist aber besser.
das was jetzt das program machen muss bei : ((1+5)+(1-2)*5)+1
ist folgendes zuerst sag ich das zeichen dann was er macht:
0. zuerst machst du einen rootpointer und einen construction pointer wie weiter unten nochmal beschrieben beide zeigen am anfang auf den selben leeren node den du am anfang machst

1. "(" -> einen unter knoten erstellen so das du jetzt 2 hast die aufeinander zeigen
0
/
-> 0

2. "(" -> dito 0
/
0
/
-> 0
...\n\n

<!--EDIT|lichtkind|1083867768-->
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.

View full thread Routine für Lösg. math. Funktionen: Brauche Idee oder Vorschlag