diff --git a/binit.c b/binit.c new file mode 100644 index 0000000..1b6f088 --- /dev/null +++ b/binit.c @@ -0,0 +1,24 @@ +#include + +int main(void){ + int i,a[5],elem, t, start=0, end=5, mid; + printf("Enter elements for array\n"); + for(i=0;i<5;i++){ + printf("%d: ",i); + scanf("%d",&a[i]); + } + printf("Enter element to search: "); + scanf("%d",&elem); + while(start<=end){ + mid=start+end/2; + if(elem==a[mid]){ + printf("Element found at position: %d\n", mid); + return 0; + }else if(elem>a[mid]) + start=mid; + else + end=mid; + } + printf("The element was not found\n"); + return 0; +} diff --git a/binrec.c b/binrec.c new file mode 100644 index 0000000..ba8b8ea --- /dev/null +++ b/binrec.c @@ -0,0 +1,30 @@ +#include + +int binsearch(int a[], int elem, int start,int end){ + int mid = start + end / 2; + if(elem == a[mid]) + return mid; + else if(start > end) + return -1; + else if(a[mid] > elem) + return binsearch(a,elem,start,mid); + else + return binsearch(a,elem,mid,end); +} + +int main(void){ + int i,a[5],elem, t; + printf("Enter elements for array\n"); + for(i=0;i<5;i++){ + printf("%d: ",i); + scanf("%d",&a[i]); + } + printf("Enter element to search: "); + scanf("%d",&elem); + t= binsearch(a,elem,0,5); + if(t==-1){ + printf("Element not found\n"); + }else + printf("The element was found at position: %d\n", t); + return 0; +}