Ir para conteúdo
Fórum Script Brasil

KronosWalker

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre KronosWalker

KronosWalker's Achievements

0

Reputação

  1. 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; }
×
×
  • Criar Novo...