Ir para conteúdo
Fórum Script Brasil
  • 0

ERRO DE BUSCA BINÁRIA


KronosWalker

Pergunta

Olá, estou  tentando fazer um código para busca binária, porém ele sempre da erro quando coloco um número maior que a metade do vetor por exemplo se é um vetor com  mil números de 1 a 1000 e eu escolher pra procurar o número 540 ele fica travado um tempinho  e não faz o que deveria fazer, entretanto com números menores que 500 ele funciona tranquilamente, gostaria muito de uma ajuda com esse problema já tenho 6 horas tentando arrumar isso.

 

 

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int BuscaBinaria( int *vet, int x, int control, int num, int help){
    int i,y,z,max,min,med;
    z=0;
    med=0;
    
    printf("Escolha um número para ser procurado no vetor entre 1 e %i : ",num);
    scanf("%i",&med);

    while(med!=x){
        if(med<x){
            max=x;
            printf(" menor que : %i   \n",x);

            help=max+min;
            control=help/2;
            x=control;
            z=z+1;
             
        }
        if(med>x){
            min=x;
            printf("maior que : %i   \n", x);
            help=max+min;
            x=help/2;
            z=z+1;
        }
        
        
        
    }   
    printf(" Número de procuras feitas no vetor  : %i",z);
    
    
}

int main()
{
    int x,*vet,num,med,lim,i,control,z,max,min,help;
    printf("Escolha quantos números você quer no vetor : ");
    scanf("%i",&num);
    vet = malloc(num*sizeof(int*));
    x=num/2;
    max=num;
    min=1;
    med=0;
    control=0;
    
    for(i=0; i<num; i++){
        vet=i+1;
    }
    
    BuscaBinaria(vet,x,control,num,help);
    
    return 0;
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...