Hola gracias por el enlace,ya entiendo el metodo busqueda pero no me ejecuta bien la busqueda...
mi codigo actual es el siguiente,si veis el error por fa decirmelo thanks.
Código C:
Ver original#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(){
int i=0,vect[22],j,aux,valor,drcha,izq,centro;
char basura;
/*generacion de vector aleatorio*/
printf("\n******Vector generado aleatoriamente******:\n"); for(i=0;i<22;i++){
}
/*ordenamiento por el metodo de la burbuja*/
for(i=0;i<22;i++){
for(j=i+1;j<22;j++){
if(vect[j]<vect[i]){
aux=vect[j];
vect[j]=vect[i];
vect[i]=aux;
}
}
}
for(i=0;i<22;i++){
printf("\nlos valores del vector en la posicion %d \t -----> \t %d\n",i
,vect
[i
]);
}
/*busqueda dicotomica*/
printf("Introduce el valor a buscar en el vector\n:"); izq=0;
drcha=21;
while(valor<=drcha){
centro=(izq+drcha)/2;
if(valor>vect[centro]){
izq=centro+1;
}
else if(valor<vect[centro]){
drcha=centro-1;
}else return centro;
}
if(valor==centro){
printf("El valor %d indicado se encontro en la posicion %d\n",valor
,i
); }
else{
printf("El valor %d no se encontro en el vector\n",valor
); }
printf("Pulsa un tecla para finalizar:\n"); return 0;
}