Pagini recente » Cod sursa (job #2099864) | Cod sursa (job #233480) | Statistici Pana Luca (lenkka) | Cod sursa (job #412902) | Cod sursa (job #537564)
Cod sursa(job #537564)
#include<iostream.h>
#include<fstream.h>
int s,d,n,m,a[1000],e,max,p,t,maxim,r;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int cautare()
{
s=1;
d=n;
e=false;
while(s<=d && !e)
{
m=((s+d)/2);
if(p=a[m])
e=true;
else
if(p<a[m])
d=m-1;
else
s=m+1;
}
m++;
g<<m<<"\n";
}
int cautare1()
{
s=1;
d=n;
e=false;
while(s<=d && !e)
{
max=((s+d)/2);
if(p=a[max])
e=true;
else
if(p<a[max])
d=max-1;
else
s=max+1;
}
max++;
g<<max<<"\n";
}
int cautare2()
{
s=1;
d=n;
e=false;
while(s<=d && !e)
{
maxim=((s+d)/2);
if(p=a[maxim])
e=true;
else
if(p<a[maxim])
d=maxim-1;
else
s=maxim+1;
}
maxim--;
g<<maxim<<"\n";
}
int main()
{
int i,k,j;
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
f>>k;
for(i=1;i<=k;i++)
{
f>>t;
f>>r;
if (t==0) cautare1();
else if (t==1)
cautare();
else if(t==2)
cautare2();
m=0;
max=0;}
f.close();
g.close();
return 0;
}