Habe folgende Aufgabenstellung:
Angenommen in einem binären Baum ist in jedem Knoten ein int-Wert unter dem Komponentennamen zahl gespeichert. Geben Sie eine Funktion addiere(…) an, die die int-Werte aller Knoten zu einer Summe aufaddiert und als Funktionsergebnis liefert, wobei die jeweilige Zahl eines Knotens immer mit der Tiefe des Knotens im Baum zu multiplizieren ist.
Bei der Spezifikation der Funktion ist von folgendem Aufbau eines Baumknotenelements auszugehen:
struct zahlen { int zahl;
struct zahlen *links;
struct zahlen *rechts; };
Wurden die einzelnen Zahlen z.B. in folgender Reihenfolge im Binärbaum eingetragen: 10, 20, 30, 5, 2
so sollte die Funktion addiere() den folgenden Wert liefern: 156
wer kann mir meine Fehler korrigieren?
Meine Funktion:
struct zahlen { int zahl;
struct zahlen *links;
struct zahlen *rechts; };
int addieren ( stuct zahlen *pWurzel)
{
if (pWurzel == NULL)
{printf(„Baum ist leer“)
return 0;
}
else
retutn addieren (*pWurzel).zahl + (*pWurzel).links +(*pWurzel).rechts;