TÓPICO

COMPILER ERROR- NÃO ENCONTRO ERRO NO CÓDIGO!

wallace junio perguntou 8 months ago

Meu código esta de acordo com as exigencias e mesmo assim compilador esta acusando erros!

include include

struct no{ int num; struct no esq; struct no dir; };

typedef struct no* Arv; typedef struct no No;

Arv iniciaArv(){ return NULL; }

void InserirNo(Arv &r, int n){

if(r == NULL){
    No *novo = (No*)malloc(sizeof(No));
    novo->dir = NULL;
    novo->esq = NULL;
    novo->num = n;
    r = novo;

}else
if(n > r->num ){
    InserirNo(r->dir,n);
}else
if(n < r->num){
    InserirNo(r->esq, n);
}

}

void imprimirPrefixa(Arv &raiz){ No *r = raiz; if(r != NULL){ printf(" %d",r->num); imprimirPrefixa(r->esq); imprimirPrefixa(r->dir); } }

void imprimirInfixo(Arv &raiz){ No *r = raiz; if(r != NULL){ imprimirInfixo(r->esq); printf(" %d",r->num); imprimirInfixo(r->dir); } }

void imprimirPosfixo(Arv &raiz){ No *r = raiz; if(r != NULL){ imprimirPosfixo(r->esq); imprimirPosfixo(r->dir); printf(" %d",r->num); } }

void liberaArv(Arv &r){ if(r != NULL){ liberaArv(r->esq); liberaArv(r->dir); free(r); } }

int main() { Arv raiz;

int c=0,n=0,j,i,valor;
scanf("%d",&c);

for(i=1;i <=c;i++){
    raiz = iniciaArv();
    scanf("%d",&n); 
    for(j=0;j < n;j++){
        scanf("%d",&valor);
        InserirNo(raiz, valor); 
    }

    printf("Case %d:\n",i);
    printf("Pre.:");
    imprimirPrefixa(raiz);
    printf("\nIn..:");
    imprimirInfixo(raiz);
    printf("\nPost:");
    imprimirPosfixo(raiz);
    printf("\n");
    liberaArv(raiz);
}

return 0;

}

Este tópico ainda não foi respondido. Seja o primeiro!

Lembre de não publicar soluções. Sua publicação pode ser revisada por nossos moderadores.