Cod sursa(job #3160568)

Utilizator alex_cozmutaCozmuta Alex alex_cozmuta Data 24 octombrie 2023 17:16:01
Problema Cautare binara Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <stdio.h>

int n,v[100];

int cerinta0(int val)
{
    int rez=-1;
    for (int i=1;i<=n && v[i]<=val;++i)
        if (v[i]==val)
            rez=i;
    return rez;
}
int cerinta1(int val)
{
    int i;
    for (i=1;i<=n && v[i]<=val;++i);
    return i-1;
}
int cerinta2(int val)
{
    int i;
    for (i=1;i<=n && v[i]<val;++i);
    return i;
}
int main()
{
    int i,m,val,tip;
    FILE *f =fopen("cautbin.in","r");
    FILE *g =fopen("cautbin.out","w");
    fscanf(f,"%d",&n);
    for (i=1;i<=n;++i)
        fscanf(f,"%d",&v[i]);
    fscanf(f,"%d",&m);
    while (m--)
    {
          fscanf(f,"%d %d",&tip,&val);
          if (tip==0)
             fprintf(g,"%d\n",cerinta0(val));
          if (tip==1)
             fprintf(g,"%d\n",cerinta1(val));
          if (tip==2)
             fprintf(g,"%d\n",cerinta2(val));
    }
}