Comprobación de errores en lenguaje C. Uso de recursividad para realizar búsquedas binarias. A continuación se adjuntan los requisitos de la pregunta y su propia programación.
#include?lt;stdio.hgt;
#include?lt;math.hgt;
void?erfen(int?start, int?end , int?nums[1000], int?m);
int?count=0;
int?main()
{
int?i,j,t;
int?n=0;
scanf("d",amp;n);
int ?inicio, fin;
inicio=0, fin=n-1
int?m=0; m);
int?nums[1000]={0};
for(i=0;ilt;n;i)
{ p>
scanf("d",amp;nums[i]);
}
for(j=0;jlt;n-1;j) p> p>
{
for(i=0;ilt;n-1-j;i)
{
if(nums[ i] gt;nums[i 1])
{
t=nums[i];
nums[i]=nums[i 1];
p>
numeros[i 1]=t;
}
}
}
erfen(inicio, fin, nums, m);
retorno?0;
}
void?erfen(int?inicio, int?fin, int?nums[1000], int?m)
{
if(m==nums[(start end)/2])//?Esta es una comparación == , no es una asignación symbol=
{
count=count 1;
printf("d\n", (inicio fin)/2);
printf(" d\n",count);
return?;
}
else?if(mlt;nums[ (inicio fin)/2])
{
if(inicio==fin)//?Esta es una comparación ==, no una asignación símbolo=
{
printf ("d\n",-1);
printf("d\n", recuento);
} p>
else
{
count=count 1;
erfen(inicio, ((inicio fin)/2)-1, nums, m);
}
}
¿otra cosa?
{
if(inicio==fin) //Esto es comparación ==, no asignación Symbol=
{
printf("d\n", -1);
printf(" d\n", cuenta);
}
else
{
cuenta=cuenta 1;
erfen(((inicio fin)/2) 1, fin, nums, m);
}
}<
/p>
}