// Função para calculo da altura
int calculaAltura(Apontador p){
    if (p == NULL) return -1;
    int he = calculaAltura(p->Esq);
    int hd = calculaAltura(p->Dir);
    
    if (he < hd) return hd + 1;
    else return he + 1;
}
int calculaAltura(NO *raiz) {
    if(raiz == NULL) {
        return 0;
    }
    else {
        return (maior(calculaAltura(raiz->esquerda),calculaAltura(raiz->direita)) + 1);
    }
}
int calculaAltura(tipoNo *raiz){
    if(raiz == NULL){
        return 0;
    }
    else {
        return (maior(calculaAltura(raiz->noEsquerdo),calculaAltura(raiz->noDireito)) + 1);
    }
}
void imprimirArvore(tipoNo *raiz){
    int i, alt = calculaAltura(raiz);
    char string[alt][N_MAX*7];

    for (i = 0; i < alt; i++)
        sprintf(string[i], "%80s", " ");

    imprimirArvoreInterno(raiz, 0, 0, 0, alt, string);

    for (i = 0; i < alt; i++)
        printf("%s\n", string[i]);
}