Cod sursa(job #2035214)

Utilizator teomdn001Moldovan Teodor teomdn001 Data 9 octombrie 2017 08:56:40
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

std::ifstream fin("sir.in");
std::ofstream fout("sir.out");

int a[1000], n, val;
void ReadArray();
int BinarySearch(int l, int r, int v);

int main()
{
    ReadArray();

    fout << BinarySearch(0, n - 1, val);
    fout.close();
}

int BinarySearch(int l, int r, int v)
{
    int m;
    while( l <= r)
    {
        m = (l + r) / 2;
        if (v == a[m])
            return m;
        if(v > a[m])
            l = m + 1;
        else r = m - 1;
    }

    return -1;

}

void ReadArray()
{
    fin >> n;
    for(int i = 0; i < n; ++i)
        fin >> a[i];

        fin >> val;

    fin.close();
}