Pagini recente » Cod sursa (job #757720) | Cod sursa (job #1155583) | Cod sursa (job #1405469) | Cod sursa (job #2652991) | Cod sursa (job #2782799)
#include <iostream>
using namespace std;
int n, x, a[10000];
int cautbinar_0 (int n, int x, int a[])
{
int st = 1;
int dr = n;
int poz = -1;
while (st <= dr)
{
int mid = (st + dr) / 2;
if (x <= a[mid]) dr = mid - 1;
else
{
if (x == a[mid]) poz = mid;
st = mid + 1;
}
}
return poz;
}
int cautbinar_1 (int n, int x, int a[])
{
int st = 1;
int dr = n;
int poz = -1;
while (st <= dr)
{
int mij = (st + dr) / 2;
if (a [mij] <= x)
{
poz = mij;
st = mij + 1;
}
else dr = mij - 1;
}
if (a[poz] <= x) return poz;
}
int cautbinar_2 (int n, int x, int a[])
{
int st = 1;
int dr = n;
int poz = -1;
while (st <= dr)
{
int mij = (st + dr) / 2;
if (a [mij] <= x)
{
dr = mij - 1;
poz = mij;
}
else
{
st = mij + 1;
}
}
return poz;
}
int main()
{
cin >> n;
cin >> x;
for (int i = 1; i <= n; i ++)
{
cin >> a [i];
}
i1 (n, x, a);
return 0;
}