fork(9) download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int BuscaBinaria(int v[], int inicio, int fim, int valor) {
  5. int meio = (inicio + fim) / 2;
  6. if (v[meio] == valor) return meio;
  7. if (fim == inicio) return -1;
  8. if (v[meio] > valor) return BuscaBinaria(v, inicio, meio - 1, valor);
  9. return BuscaBinaria(v, inicio + 1, meio, valor);
  10. }
  11.  
  12. int main() {
  13. int tam, valor;
  14. printf("Qual o tamanho do vetor: ");
  15. scanf("%d", &tam);
  16. int v[tam], i;
  17. printf("Informe os valores do vetor:\n");
  18. for (i = 0; i < tam; i++) {
  19. scanf("%d", &v[i]);
  20. }
  21. printf("Informe o numero a ser buscado: ");
  22. scanf("%d", &valor);
  23. int k = BuscaBinaria(v, 0, tam - 1, valor);
  24. printf("%d", k);
  25. }
Success #stdin #stdout 0s 2172KB
stdin
5
3
4
8
12
19
12
stdout
Qual o tamanho do vetor: Informe os valores do vetor:
Informe o numero a ser buscado: 3