Cod sursa(job #769625)

Utilizator shagarthAladin shagarth Data 20 iulie 2012 11:46:17
Problema Cautare binara Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include<fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int v[100],x,i,k,n,m,y;
int caut0(int y,int n)
{
	int li,ls,ok;
	ls=n;
	li=1;

	ok=0;
	
	for(i=ls;i>=li;i--)
	{
		if(v[i]==y)
		{
			ok=1;
			break;
		}
	}
	if(ok==1)
		return i;
	else
		return -1;
	
}
int caut1(int y,int n)
{
	int li,ls;
	ls=n;
	li=1;

	
	for(i=ls;i>=li;i--)
	{
		if(v[i]<=y)
		{	
			break;
		}
	}
	return i;

}
int caut2(int y,int n)
{
	int li,ls;
	ls=n;
	li=1;

	for(i=li;i<=ls;i++)
	{
		if(v[i]>=y)
		{	
			break;
		}
	}
	return i;
}
int main()
{
	f>>n;
	for(i=1;i<=n;i++)
	{
		f>>v[i];
	}
	f>>m;
	while(m>0)
	{
		f>>x>>y;
		switch(x)
		{
		case 0:{g<<caut0(y,n)<<"\n";break;};
		case 1:{g<<caut1(y,n)<<"\n";break;};
		case 2:{g<<caut2(y,n)<<"\n";break;};
		}
		m--;
	}
	f.close();
	g.close();
	return 0;
}