Olá amigo, to com um problemão quase impossível =/
Tenho uma árvore avl e gostaria de mostrar o avô e o tio de um elemento escolhido pelo usuário(elemento já inserido na árvore é claro).
Mas não consigo de jeito nenhum, não sei é a lógica que está errada:
avo(arvore_ptr pai)
{
if ((pai != NULL) && (pai->parent != NULL))
return pai->parent->parent;
else
return NULL;
}
tio(arvore_ptr pai)
{
arvore_ptr g = avo(pai);
if (g == NULL)
return NULL;
if (pai->parent == g->esq)
return g->dir;
else
return g->esq;
}
pesquisar (arvore_ptr pai, int c, char n[30], float p)
{
if (pai)
{
if (c == pai-> cod)
{
printf("codigo = %d\n", pai -> cod);
printf("nome = %s\n", pai -> nome);
printf("preco = %.2f\n", pai -> preco);
}
else
{
if (c < pai -> cod)
pesquisar(pai -> esq, c, n, p);
else
pesquisar(pai -> dir, c, n, p);
}
printf("achou");
}
printf("nao achou");
}
Desculpa se são dúvidas idiotas =/
Obrigada!