Cod sursa(job #881679)

Utilizator George515600Bejan George George515600 Data 18 februarie 2013 14:16:50
Problema Cautare binara Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.99 kb
#include <stdio.h>
#include <stdlib.h>

int solve0 (int v[], int val, int n)
{
    int i;
    for (i = n; i > 0; --i)
        if (v[i] == val) return i;
    return -1;

}

int solve1 (int v[], int val, int n)
{
    int i;
    for (i = n; i >0; --i)
        if (v[i] <= val) return i;
}

int solve2 (int v[], int val, int n)
{
    int i;
    for (i = 1; i <= n; i)
        if (v[i] >= val) return i;
}

int main()
{
    FILE *f;
    FILE *g;
    f = fopen("cautbin.in","r");
    g = fopen("cautbin.out","w");
    int n,i;
    int v[100010];
    fscanf(f,"%d",&n);

    for (i = 1; i <= n; i++)
        fscanf(f,"%d", &v[i]);

    int m,tip,val;
    fscanf(f,"%d", &m);
    while (m--)
    {
        fscanf(f,"%d %d", &tip, &val);
        if (tip == 0)
            printf("%d\n", solve0(v, val, n));
        if (tip == 1)
            printf("%d\n", solve1(v, val, n));
        if (tip == 2)
            printf("%d\n", solve2(v, val, n));
    }

    return 0;

}