Olá pessoal, sou novo no fórum, este é o meu primeiro post! Eu preciso fazer um algoritmo para gerar um número aleatório entre 1 e 20, verificar se ele já existe em uma árvore binária dada pelo "arvore raiz" //verifica se a chave inteira a ser inserida já existe bool verificaIgual (arvore raiz, int x) { if (raiz) { if (raiz->chave == x) return(true); verificaIgual(raiz->esq, x); verificaIgual(raiz->dir, x); return(false); } } //gera um número aleatório entre 1 e 20 int gerarNumero(arvore raiz) { srand((unsigned) time(NULL)); int x = (rand() % 20); // se a chave criada já existir, cria outra chave if (verificaIgual(raiz,x)) gerarNumero(raiz); else return x; } E o algoritmo não funciona! Alguém pode me ajudar? Obs.: É árvore binária normal, não é de busca binária.