rendered paste body#include <stdio.h>
int licznik=0;
int DiR(int *tab,int x,int i,int dlciag)
{
int a,c,dlugosc;
dlugosc=dlciag-i;
a=dlugosc/2;
if ((tab[a+i]<=x)&&(x<tab[a+1+i])) {licznik+=2; c=a+i+1; return c;}
else {
if (x<=tab[a+i]) {licznik+=3; return DiR(tab,x,i,a+i);}
else {licznik+=4; return DiR(tab,x,a+i,dlciag);}
}
}
int main()
{
FILE *plik;
FILE *plik1;
int a,i,rozw,dlciag,*tab;
float x;
plik=fopen("in.txt","r");
if (plik)
{
fscanf(plik,"%f %d",&x,&dlciag);
tab=malloc(dlciag*sizeof(int));
for (i=0;i<dlciag;i++)
{
fscanf(plik,"%d",&a);
tab[i]=a;
};
if (x<tab[0]) {licznik++; rozw=0;}
else {
if (tab[dlciag-1]<=x) {licznik+=2; rozw=dlciag;}
else {licznik+=2; rozw=DiR(tab,x,0,dlciag-1);}
}
plik1=fopen("out.txt","w");
fprintf(plik1,"%d\nLicznik=%d",rozw,licznik);
}
fclose(plik);
fclose(plik1);
free(tab);
return 0;
}