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();
}