Showing posts with label Search. Show all posts
Showing posts with label Search. Show all posts

Binary search

Program:

#include<stdio.h>
int main()
{
int a[100],n,first,last,middle,search,i,flag=-1;
printf("Enter no. of elements: \n");
scanf("%d",&n);
printf("Enter array elements: \n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}

printf("Enter value to find\n");
 scanf("%d",&search);

 first=0;
 last=n-1;
 while(first<=last)
{
middle=(first+last)/2;
  if(search<a[middle])
  {
  last=middle-1;
}
else if(search>a[middle])
{
first=middle+1;
}
else
{
flag=middle;
break;
}
 }
  if(flag==-1)
  {
   printf("Unsuccessful search...");
   }
  else
  {
   printf("Successful search at position %d",flag);
   }
    return 0;
}

Output:




Linear search

Program:

#include<stdio.h>
int main()
{
int a[100],n,search,i,flag=-1;
printf("Enter no. of elements: \n");
scanf("%d",&n);
printf("Enter array elements: \n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}

printf("Enter value to find\n");
        scanf("%d",&search);
  for(i=0;i<n;i++)
{
if(a[i]==search)
{
flag=i;
break;
}
}
 
if(flag>=0)
{
    printf("Successful search at position %d",flag);
}
else
{
    printf("Unsuccessful search...");
 }
return 0;
}

Output:




x^y using recursion

Program: #include<stdio.h> int power(int a,int b); int main() { int x,y,ans; printf("Enter x and y:\n "); scanf(...