Untitled

mail@pastecode.io avatar
unknown
plain_text
2 months ago
1.0 kB
4
Indexable
Never
#include <stdio.h>

/* Pesquisar um elemento num array de inteiros ordenado */

int pesquisa_binaria_recursiva (int x, int vetor[], int primeiro, int ultimo){

    int meio = (primeiro + ultimo) / 2;

    if (vetor[meio] == x){       
        return 1;
    }

    if (primeiro == ultimo){
        return (vetor[meio] == x);
    }

    else{
        
        if (vetor[meio] > x){
            return (pesquisa_binaria_recursiva(x, vetor, primeiro, meio-1));
        }

        else{
            return (pesquisa_binaria_recursiva(x, vetor, meio+1, ultimo));
        }

    }

}


int pesquisa_binaria (int x, int vetor[], int tamanho){

    int resultado;
    
    resultado = pesquisa_binaria_recursiva(x, vetor, 0, tamanho-1);

    return resultado;

}

int main(){

    int vetor[10] = {1,2,3,4,5,6,7,8,9,10};

    int resultado = pesquisa_binaria(10, vetor, 10);

    if(resultado){
        printf("\nO número foi encontrado!\n");
    }

    else{
        printf("\nO número não foi encontrado!\n");
    }

}
Leave a Comment