Cod sursa(job #1068973)
Utilizator | Dan Claudiu DiClau | Data | 29 decembrie 2013 01:18:18 |
---|---|---|---|
Problema | Cautare binara | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include<stio.h>
using namespace std;
int v[100005];
int main()
{
in=fopen("cautarebinara.in","r");
out=fopen("cautarebinara.out","w");
int i,n,x;
fscanf(in,"%d",&n);
for (i=1;i<=n;i++)
{
fscanf(in,"%d",&v[i]);
}
fscanf(in,"%d",&x);
int stanga,mijloc,dreapta;
stanga=1;
dreapta=n;
mijloc=n/2;
fl=0;
while(fl==0)
{
if (v[mijloc]==x&&v[mijloc+1]!=x)
break;
if (v[mijloc]<=x)
{
stanga=mijloc;
mijloc=(stanga+dreapta)/2;
}
else
{
dreapta=
}
}
return 0;
}