float calcularMediaIdade(Arvore *pRaiz) {
    if(pRaiz!=NULL){
	return  somarIdadeClientes(pRaiz) / contarNos(pRaiz);
}
    return 0;
}
Example #2
0
int contarNos(no *p){
	if(p == NULL)
		return 0;
	else
		return 1 + contarNos(p->esq) + contarNos(p->dir);
}
int contarNos(Arvore *pRaiz){
   if(pRaiz == NULL)
        return 0;
   else
        return 1 + contarNos(pRaiz->esq) + contarNos(pRaiz->dir);
}
Example #4
0
int main(){
	int n,a,b;
	no *raiz, *aux;
	raiz = NULL;
	int opcao;

	while(opcao!=12){

		opcao = menu();
		switch(opcao){

			case 1:

			printf("\n>>>>>>>>>>>>><<<<<<<<<<<<<\n\n");
			printf("Digite -1 para terminar\n");
			printf("\n>>>>>>>>>>>>><<<<<<<<<<<<<\n\n");
			do{
				printf("Digite um numero: ");
				scanf("%d", &n);
				if(n!=-1){
					insere(n, &raiz);
				}
			}while (n!=-1);

                       //imprime(raiz,0);

			break;
			case 2:

			printf("\n>>>>>>>>>>>>><<<<<<<<<<<<<\n\n");
			printf("------> Pre-Ordem <------\n");
			printf("\n>>>>>>>>>>>>><<<<<<<<<<<<<\n\n");
			preordem(raiz);

			break;
			case 3:

			printf("\n>>>>>>>>>>>>><<<<<<<<<<<<<\n\n");
			printf("------> Em-Ordem <------\n");
			printf("\n>>>>>>>>>>>>><<<<<<<<<<<<<\n\n");
			emordem(raiz);

			break;
			case 4:

			printf("\n>>>>>>>>>>>>><<<<<<<<<<<<<\n\n");
			printf("------> Pos-Ordem <------\n");
			printf("\n>>>>>>>>>>>>><<<<<<<<<<<<<\n\n");
			posordem(raiz);

			break;
			case 5:

			consultarDetalhes(raiz);

			break;

			case 6:

			b=contarNos(raiz);
			printf("\n>>>>>>>>>>>>><<<<<<<<<<<<<\n\n");
			printf("  A arvore possui %d nos!\n",b);
			printf("\n>>>>>>>>>>>>><<<<<<<<<<<<<\n\n");

			break;
			case 7:

			printf("ARVORE BINARIA\n");
			imprime(raiz,0);

			break;
			default :

			printf("opcao nao existe! tente novamente");

			break;
		}

	}


	return 0;

}