TEMA
COMPILER ERROR- NÃO ENCONTRO ERRO NO CÓDIGO!
wallacejunio preguntado 3 years 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 tema aún no ha sido contestado. ¡Sé el primero!