#include <iostream>
using namespace std;
int main()
{
int clave=0;
const int tamano=15;
int arreglo[]={25, 17, 13, 16, 41, 32, 12, 115, 95, 84, 54, 63, 78, 21, 10};
int temp;
// ORDENAMOS EL ARREGLO (MÉTODO BURBUJA)
// PARA QUE FUNCIONE LA BUSQUEDA BINARIA
for(int i=0; i<=tamano; i++){
for(int j=tamano-1; j>=i+1; j--){
if(arreglo[j] < arreglo[j-1]){
//INTERCAMBIAR POSICIONES
temp=arreglo[j];
arreglo[j]=arreglo[j-1];
arreglo[j-1]=temp;
}
}
}
// IMPRIMIMOS EL ARREGLO ORDENADO
cout<<"Elemenetos del arreglo: "<<endl;
for(int i=0; i<tamano; i++){
cout<<"arreglo["<<i<<"]="<<arreglo[i]<<endl;
}
cout<<"Indique un valor a buscar y se le devolverá el índice: ";
cin>>clave;
// APLICAMOS BÚSQUEDA BINARIA
int Iarriba = tamano-1;
int Iabajo=0;
int Icentro;
bool encontrado=false;
while(Iabajo <= Iarriba){
Icentro = (Iarriba+Iabajo)/2;
if(arreglo[Icentro] == clave){
encontrado = true;
break;
}else{
encontrado=false;
if(clave < arreglo[Icentro])
Iarriba = Icentro-1;
else
Iabajo = Icentro+1;
}
}
if(encontrado)
cout<<"Su valor se encuentra en el arreglo"<<endl;
else
cout<<"Su valor no se encuentra en el arreglo"<<endl;
cout<<"Fin del programa"<<endl;
return 0;
}