You are on page 1of 7

1. Write a program in ‘C’ language to implement linear search using pointers.

 
Ans: 

#include<stdio.h>
#include<stdlib.h>
int c=0;
int linearsearch(int *, int,int);
int linearsearch(int *a,int b,int n)
{
int i;
for(i=0;i<=n-1;i++)
{
if(*(a+i)==b)
{
c=1;
break;
}
}
return i;

int main()
{
int *a,i,n,m;

printf("Enter the size of an array: ");


scanf("%d",&n);
a=(int*)malloc(n*sizeof(int));
printf("Enter the elements of the array: ");
for(i=0;i<=n-1;i++)
{
scanf("%d",(a+i));
}

printf("Enter the number to be search: ");


scanf("%d",&m);
i=0;
i=linearsearch(a,m,n);

if(c==0)
printf("The number is not in the list\n");
else
printf("The number is found at position %d\n",i+1);
return 0;
}

2. Write a program in ‘C’ language to implement binary search using pointers.


Ans:

/*binary search using pointers*/


#include <stdio.h>
#include <conio.h>
void main()
{
int search(int *,int,int,int,int *);
int arr[]={0,1,2,3,4,5,7,12,53,31,78,87,65,45,100,200};
int i,j,n=15,temp,num,pos;
char ans;
clrscr();
printf("Do u want to enter values to array automaticaly y/n:");
scanf("%c",&ans);
if(ans=='n')
{
printf("Enter number of elts, max is 15 :");
scanf("%d",&n);
printf("Enter %d elements...\n",n);
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
}
for(i=0;i<n-1;i++)
for(j=i;j<n;j++)
if(arr[i]< arr[j])
{
temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
printf("\nEntered array after sorting is...\n");
for(i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
sear: printf("\nEnter the number to be searched:");
scanf("%d",&num);
if(search(arr,0,n-1,num,&pos))
printf("Entered number %d found at position %d\n",num,pos+1);
else
printf("Entered number %d not found \n",num);
printf("\Search again y/n :");
scanf(" %c",&ans);
if(ans=='y')goto sear ;
}
int search(int *arr,int spos,int epos,int num,int *pos)
{
int mid;
if(spos > epos)
{
*pos=-1;
return(0);
}
mid=(epos+spos)/2;
if(*(arr+mid)==num)
{
*pos=mid;
return(1);
}
if(*(arr+mid)> num)
{ return( search(arr,mid+1,epos,num,pos) ); }
if(*(arr+mid) < num)
{ return( search(arr,spos,mid-1,num,pos) ); }
}

3. Write a program in ‘C’ language to implement bubble sort using pointers.  


Ans:

/* Program of sorting using bubble sort */

#include <stdio.h>
#define MAX 20

main()

int arr[MAX],i,j,k,temp,n,xchanges;

clrscr();

printf("Enter the number of elements : ");

scanf("%d",&n);

for (i = 0; i < n; i++)

printf("Enter element %d : ",i+1);

scanf("%d",&arr[i]);

printf("Unsorted list is :\n");

for (i = 0; i < n; i++)

printf("%d ", arr[i]);

printf("\n");

/* Bubble sort*/

for (i = 0; i < n-1 ; i++)

xchanges=0;

for (j = 0; j <n-1-i; j++)

{ if (arr[j] > arr[j+1])


{

temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

xchanges++;

/*End of inner for loop*/

if(xchanges==0) /*If list is sorted*/

break;

printf("After Pass %d elements are : ",i+1);

for (k = 0; k < n; k++)

printf("%d ", arr[k]);

printf("\n");

/*End of outer for loop*/

printf("Sorted list is :\n");

for (i = 0; i < n; i++)

printf("%d ", arr[i]);

printf("\n");

getch();

}
/*End of main()*/

You might also like