All pastes #769453 Raw Edit

Stuff

public text v1 · immutable
·published 2007-11-11 13:18 UTC
rendered paste body
#include <stdio.h>
int c=0;

typedef struct
{
        int a, b;
}wek;

int find(int l, int r, float x, wek* tab)
{
    int j=(int)((l+r)/2);
    if ((c+=2)&&(x<tab[l].a || x>tab[r].b)) return -1;
    if(l<r)
    {
           if(++c && x<tab[j].b) return find(l,j,x,tab);
           else if (++c && x>tab[j].b) return find(j+1,r,x,tab);
           else return j+1;
    }
    return l+1;
}

main()
{
      FILE *in=fopen("ps04z4.txt","r");
      int n=1,l=0;
      char z;
      float x;
      
      while(!feof(in)) if (',' == (z=fgetc(in)) ) n++;
      fseek(in,0,0);
      wek tab[n];
      
      for(;l<n;l++)
      {
           fscanf(in,"%d",&(tab[l].a));
           fscanf(in,"%d",&(tab[l].b));
           z=fgetc(in);
      }
      fscanf(in,"%f",&x);
      
      
      fprintf(stdout,"%d\n",find(0,n-1,x,tab));
      
      //for(l=0;l<n;l++) printf("%d %d, ",tab[l].a,tab[l].b);
      //fprintf(stdout,"\n%f\n",x);
      fprintf(stdout,"Licznik = %d",c);
      
      fclose(in);
      getch();
}