C gewichtete Bäume Problem

vom 07.02.2009, 21:31 Uhr

Hi, ich wollte mich gerade ein bisschen in BaumStrukturen einarbeiten, und kriege beim kompilieren noch einen Fehler:

"request for member `left' in something not a structure or union "

Code: Alles auswählen
#include <stdio.h>

typedef struct node* B_Ptr;
typedef struct node {
        int key;
        int weight;
        B_Ptr left, right;
} bnodetype;

B_Ptr baum;

void teilsumme(B_Ptr t) {
     if (t==NULL) return;
     teilsumme(t->left);
     t->weight = summ(t);
     teilsumme(t->right);
}

void append_node(B_Ptr *t,int n) {
     B_Ptr help;
     if (*t == NULL) {
            help = malloc(sizeof(bnodetype));
            help->key = n;
            help->weight = 0;
            help->left = NULL;
            help->right = NULL;
            *t = help;
            }
     else if ((*t)->left == NULL) append_node(&(t)->left, n);
          else if ((*t)->right == NULL) append_node(&(t)->right, n);
     else append_node(&(t)->left, n);
}   



int summ(B_Ptr t) {
     if (t==NULL) return 0;
     return t->key + summ(t->left) + summ(t->right);
}

void new_tree(B_Ptr t) {
     t = NULL;
}

void baumausgeben(B_Ptr t) {
     if (t==NULL) return;
     printf("Enter: %i , %i\n",t->key,t->weight);
     while (t->left != NULL && t->right!=NULL) {
           t=t->left;
           baumausgeben(t->left);

}
}
           

int main() {
     new_tree(baum);
     append_node(&baum,3);
     append_node(&baum,4);
     append_node(&baum,3);
     append_node(&baum,45);
     append_node(&baum,6);
     append_node(&baum,83);
     append_node(&baum,47);
     append_node(&baum,36);
     append_node(&baum,37);

    teilsumme(baum);
    baumausgeben(baum);
     getchar();
}



Kann mir jemand helfen?

» weeska » Beiträge: 85 » Talkpoints: 1,36 »



Ähnliche Themen

Weitere interessante Themen

^