Cautarea binara in C++

Cautarea binara in C++
#include<iostream.h>

int v[25];

int i,n,li,ls,mij,gasit,x;

void main()

{

cout<<“n=”;

cin>>n;

cout<<“Cauta elementul =”;

cin>>x;

for(i=1;i<=n;i++)

{cout<<“v[“<<i<<“]=”; cin>>v[i];}

for(i=1;i<=n;i++)

cout<<v[i]<<” “;

cout<<endl;

li=1; //limita inferioara

ls=n; //limita superioara

gasit=0;

 

// Cautarea binara are loc numai in cazul in care tabloul este ordonat crescator

while((li<=ls)&&(!gasit))

{

mij=floor((li+ls)/2); //aflam indicele care reprezinta mijlocul tabloului.

if(x==v[mij])

{

cout<<“L-am gasit pe pozitia “<<mij;

gasit=1;

}

else if(x>v[mij]) // Cautare se face in dreapta

li=mij+1; // Actualizare li

else ls=mij-1; // Cautarea se face in stanga

}

if(gasit==0)

cout<<x<<“Elementul cautat nu se gaseste in tablou”;

}

Leave a comment

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Time limit is exhausted. Please reload the CAPTCHA.