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.