Skip to main content

Binary Search use Recursion in C or C Program for Binary Search using Array Passing UDF

Binary Search using Recursion function in C or C Program for Binary Search using Array Passing User Defined Function :-

Example : How to write C Program for Binary Search using Recursive Function and its solutions given below :-

#include<stdio.h>
#include<conio.h>

int binarySearch(int lmt[],int arrayStart,int arrayEnd,int a) /* UDF declar with definition */
{
int m,pos;
if (arrayStart<=arrayEnd)
{
m=(arrayStart+arrayEnd)/2;
if (lmt[m]==a)
return m;
else if ( a < lmt[m] )
return binarySearch(lmt,arrayStart,m-1,a); /* function calls itself called Recursive function */
else
return binarySearch(lmt,m+1,arrayEnd,a); /* function calls itself called Recursive function */
}
return -1;
}

void readArray(int lmt[],int n) /* UDF declar with definition */
{
int i;
printf("Enter the array elements :\n");
for( i=0 ; i < n ; i++ )
scanf("%d",&lmt[i]);
}

/* main() function starts here */
void main()
{

int lmt[10], num, searchElement,pos;

clrscr();


printf("Enter the number of array elements to be printed :");
scanf("%d",&num);

readArray(lmt,num);

printf("\nEnter the element you want to search :");
scanf("%d",&searchElement);

pos=binarySearch(lmt,0,num,searchElement);
if(pos==-1)
{
printf("\nElement not found");
}
else
{
printf("\nElement found at %d position",++pos);
}

getch();
}
/*
if we give no of elements is 5 and array elements are 11,22,33,66,45 then element to be searched is 66 then answer will be "Element found at 4 position" otherwise "Element not found"
*/

Popular posts from this blog

Binary to Decimal Conversion in C, C Program for Binary to Decimal

Binary to Decimal Conversion in C or C Program for Binary to Decimal Number? #include<stdio.h> #include<conio.h> void main() {         long int b_n,d_n=0,j=1,rem;     clrscr();     printf("Enter a binary number: ");     scanf("%ld",&b_n);     while(b_n!=0)    {         rem=b_n%10;                    d_n=d_n+rem*j;         j=j*2;         b_n=b_n/10;     }     printf("Equivalent decimal Number : %ld",d_n);     getch(); } Output: Enter a Binary Number : 101 Equivalent Decimal Number : 5

Swapping of Two Numbers in C or C Program to Swap Two Numbers

Swapping of Two Numbers in C or C Program to Swap Two Numbers or C program to Swap two numbers without using a third variable #include <stdio.h> #include <conio.h>  void main() {    int x, y, temp;    clrscr();    // to clear screen       printf("Enter the value of x and y\n");    scanf("%d%d", &x, &y);    printf("Before Swapping\nx = %d\ny = %d\n",x,y);    temp = x;    x    = y;    y    = temp;    /*       without using temp variable, this can be used    let x=4 and y=5    x = x + y ;   x=x+y => x=4+5 => x=9     y = x - y ;   y=x-y => y=9-5 => y=4  value changed    x = x - y ;   x=x-y => x=9-4 => x=5  value changed      */       printf("After Swapping\nx ...

C Program to find Prime Number using UDF, also find Prime Numbers upto a limit in C Language

C Program to find Prime Number using UDF, also find Prime Numbers upto a limit in C Language: Example 1 : C Program to find prime number using user defined function :- #include<stdio.h> #include<conio.h> int primeNumber(int); /* function declaration or prototype, int arg int returns */ void main() { int num,prime; clrscr(); printf("Enter an integer Number :"); scanf("%d",&num); prime = primeNumber(num); /* function call here with Actual Parameter num, rtns integer value and assigning to the var prime */ if(prime==1) printf("%d is a prime number",num); else printf("%d is not a prime number",num); getch(); } int primeNumber(int n) /* function definition with Formal Parameter n and returns an integer */ { int i; for( i=2 ; i<=n/2 ; i++) { if(n%i==0) return 0; } return 1; } /* prime number 3,7,11,17.... */ Example 2 : C Program to find prime num...