#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[30],n,i,t,low,mid,high,found=0;
printf("\n Enter the NO. of elements in the array: ");
scanf("%d",&n);
if(n>30)
{
printf("\n Too many Numbers");
exit(0);
}
printf("\n Enter the elements of the array:\n");
for(i=0 ; i< n; i++)
scanf("%d", &a[i]);
printf("\n Enter the element to search :");
scanf("%d",&t);
low = 0;
high = n - 1;
while(high >= low)
{
mid = (low + high) / 2;
if(a[mid] == t)
{
found = 1;
break;
}
else if (t < a[mid])
high = mid - 1;
else
low = mid + 1;
}
if(found==0)
printf("\n NOT FOUND");
else
printf("\n FOUND AT %d",mid);
return 0;
}
Enter the NO. of elements in the array: 5
Enter the elements of the array:
5
4
9
2
3
Enter the element to search :9
FOUND AT 2
First understand the algorithm carefully. Then study the program line-by-line and compare it with the output. Finally, review the explanation section to strengthen your logic and programming understanding.
Rewrite the program without looking at the code. Modify values, conditions or logic and run it again. This helps improve confidence and strengthens coding skills much faster.