Advertisement
Jonas_3k

/*- Busca binária recursiva -*/

May 9th, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.92 KB | None | 0 0
  1. // Este código foi feito para o teste prático de algoritmos 2
  2. // Código para fins didáticos.
  3.  
  4. #include<stdio.h>
  5. int procure(int inicio, int valor, int *vetor,int fim)
  6. {
  7.     int meio;
  8.     meio = (inicio+fim)/2; //pega o valor do meio do vetor
  9.     if(vetor[meio]==valor) return meio; //caso o valor procurado esteja no meio retorna o indice
  10.     else
  11.         if(valor>vetor[meio]) return procure(meio+1,valor,vetor,fim); //caso o valor seja maior que o valor contido no array meio+1 vira inicio
  12.         else
  13.             if (valor<vetor[meio])return procure(inicio,valor,vetor,meio-1); //caso o valor seja menor que o valor contido no array meio-1 vira fim
  14.             else return -1; //caso nenhuma condição seja satisfeita retorna -1
  15. }
  16. main()
  17. {
  18.     int numero,valor=0,indice,vetor[5];
  19.     for(indice=0;indice <5;indice++)
  20.     {
  21.         scanf("%d",&vetor[indice]);
  22.     }
  23.    
  24.     scanf("%d",&numero);
  25.     valor = procure(0,numero,vetor,5);
  26.     printf("valor retornado %d ",valor);
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement