/*Works only with sorted list*/
#include<stdio.h>
#include<conio.h>
int getArray();
int getNum();
int getSearch();
int process();
int getNum()
{
int n;
printf("Enter number of array\n");
scanf("%d",&n);
return n;
}
int getArray()
{
int a[100],i,n;
n = getNum();
printf("Enter each element\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
return a;
}
int getSearch()
{
int num;
printf("Enter value to be searched\n");
scanf("%d",&num);
return num;
}
int process()
{
int a[100],i,num,beg,end,n,mid,flag = 0;
a[100] = getArray();
n = getNum();
num = getSearch();
beg = 0;
end = n-1;
printf("Following is array\n");
printf("Value of n is %d\n",n);
printf("Value of search is %d",num);
for(i=0;i<n;i++)
{
printf("%d\n",a[i]);
}
while(beg<=end)
{
mid = (beg + end)/2;
if(a[mid]==num)
{
flag = 1;
printf("Element %d found at %d",num,mid);
break;
}
else if(a[mid]<num)
{
beg = mid + 1;
}
else
{
end = mid - 1;
}
}
if(flag==0&&beg>end)
{
printf("Enter valid search\n");
}
return 0;
}
int main()
{
process();
getch();
}
#include<stdio.h>
#include<conio.h>
int getArray();
int getNum();
int getSearch();
int process();
int getNum()
{
int n;
printf("Enter number of array\n");
scanf("%d",&n);
return n;
}
int getArray()
{
int a[100],i,n;
n = getNum();
printf("Enter each element\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
return a;
}
int getSearch()
{
int num;
printf("Enter value to be searched\n");
scanf("%d",&num);
return num;
}
int process()
{
int a[100],i,num,beg,end,n,mid,flag = 0;
a[100] = getArray();
n = getNum();
num = getSearch();
beg = 0;
end = n-1;
printf("Following is array\n");
printf("Value of n is %d\n",n);
printf("Value of search is %d",num);
for(i=0;i<n;i++)
{
printf("%d\n",a[i]);
}
while(beg<=end)
{
mid = (beg + end)/2;
if(a[mid]==num)
{
flag = 1;
printf("Element %d found at %d",num,mid);
break;
}
else if(a[mid]<num)
{
beg = mid + 1;
}
else
{
end = mid - 1;
}
}
if(flag==0&&beg>end)
{
printf("Enter valid search\n");
}
return 0;
}
int main()
{
process();
getch();
}
No comments:
Post a Comment