Ir ao conteúdo
  • Cadastre-se

Ivan Silva_621135

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Favor ajudar encontrar erro no item BUSCAR, quando selecionado o prog para de responder. #include<stdio.h> #include<stdlib.h> #include<conio.h> typedef struct noArvore{ int numero; noArvore *esquerda; noArvore *direita; }NoArvore; void insere_elemento(NoArvore **pRaiz,int numero) { if(*pRaiz== NULL) { NoArvore *aux=(NoArvore *)malloc(sizeof(NoArvore)); aux->numero = numero; aux->direita = aux->esquerda = NULL; *pRaiz = aux; return; } if(numero < (*pRaiz)->numero) { insere_elemento(&(*pRaiz)->esquerda, numero); return; } if(numero >(*pRaiz)->numero) { insere_elemento(&(*pRaiz)->direita, numero); return; } printf("\nELEMENTO %d já EXISTE !!! ",numero); } void mostra_em_ordem(NoArvore *pRaiz) { if(pRaiz!= NULL) { mostra_em_ordem(pRaiz->esquerda); printf("< %i > ",pRaiz->numero); mostra_em_ordem(pRaiz->direita); } } void mostra_em_Pre_ordem(NoArvore *pRaiz) { if(pRaiz!= NULL) { printf("< %i > ",pRaiz->numero); mostra_em_Pre_ordem(pRaiz->esquerda); mostra_em_Pre_ordem(pRaiz->direita); } } void mostra_em_Pos_ordem(NoArvore *pRaiz) { if(pRaiz!= NULL) { mostra_em_Pos_ordem(pRaiz->esquerda); mostra_em_Pos_ordem(pRaiz->direita); printf("< %i > ",pRaiz->numero); } } void buscar_elemento(NoArvore *pRaiz,int valor) { if (pRaiz->numero > valor) { buscar_elemento (pRaiz->direita,valor); if (pRaiz->numero == valor) { printf("\nVALOR ENCONTRADO: %d\n",pRaiz->numero); } } else if(pRaiz->numero < valor) { buscar_elemento (pRaiz->esquerda,valor); if (pRaiz->numero == valor) { printf("\nVALOR ENCONTRADO: %d\n",pRaiz->numero); } } else { printf("\nVALOR NAO ENCONTRADO: %d\n",valor); } system ("pause"); } int main(){ NoArvore *arvore= NULL; int opcao,valor; do { printf ("\n\n\t MENU DE opções\n\n\n < 1 > INSERIR ELEMENTO\n < 2 > BUSCAR ELEMENTO \n < 3 > MOSTRAR ELEMENTOS EM ORDEM\n < 4 > MOSTRAR ELEMENTOS EM PRE ORDEM\n < 5 > MOSTRAR ELEMENTOS EM POS ORDEM\n < 6 > SAIR\n\n"); scanf("%d", &opcao); system("cls"); { switch(opcao){ case 1: printf("\nDIGITE UM VALOR "); scanf("\n%d", &valor); system("cls"); insere_elemento(&arvore, valor); break; case 2: if (arvore ==NULL) { printf("\nARVORE VAZIA !!\n"); } printf("\nDIGITE O VALOR A SER BUSCADO: "); scanf("\n%d", &valor); buscar_elemento(arvore,valor); system("cls"); break; case 3: if (arvore ==NULL) { printf("\nARVORE VAZIA !!\n"); } mostra_em_ordem(arvore); break; case 4: if (arvore ==NULL) { printf("\nARVORE VAZIA !!\n"); } mostra_em_Pre_ordem(arvore); ; break; case 5: if (arvore ==NULL) { printf("\nARVORE VAZIA !!\n"); } mostra_em_Pos_ordem(arvore); break; } } }while(opcao != 6); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...