Most Commonly Asked Programs In C++ Language |
Mini Project :~ Searching Techniques Using Functions. Posted: 02 May 2013 09:01 AM PDT This Post Contains A Mini Project :~ Searching Techniques Using Functions. With Correct Source Code, Algorithm & Output. This Program Is Written, Compiled & Executed At TurboC/C++3.0 Compiler & Will Help You To Understand The Concept Of 'Searching Techniques' From C Language. It Is A Well-Structured Program With Proper Comments Which Provides Step-By-Step Description Of Various Features Of The Language In A Simple & Easy-To-Understand Way. # Note : You Can Simply Copy-Paste The Following Program Or Code Into Compiler For Direct Result. /* Program To Perform Different Types Of Searching Techniques Using Functions */ #include<stdio.h> #include<conio.h> #include<stdlib.h> int No2 = 0; int Scan(int a[100]); void Lsearch(int a[100],int); void Bsearch(int a[100],int); void Fsearch(); int FibSearch(int a[100],int ,int ,int ,int ); int fib(int ); void main() { int No1 = 0; int a[100]; clrscr(); printf("\n\t\t :: Welcome To 'Searching & Sorting' Program ::"); do { printf("\n\nPlease Select One Of The Following Options ::"); printf("\n1. Linear Searching"); printf("\n2. Binary Searching"); printf("\n3. Fibbonanci Searching"); printf("\n4. Exit From Menu"); printf("\nPlease Enter Your Choice Here ::\t"); scanf("%d",&No1); switch(No1) { case 1: No2 = (Scan(a)); Lsearch(a , No2); break; case 2: No2 = (Scan(a)); Bsearch(a , No2); break; case 3: Fsearch(); break; case 4: exit (0); break; default:printf("\nSorry!!! Invalid Choice"); } } while(No1 <= 4); getch(); } int Scan(int a[100]) { int i; printf("\nPlease Enter The Limit Of Array A ::\t"); scanf("%d",&No2); printf("\nPlease Enter The Elements For Array A ::\n"); for(i=0;i<No2;i++) { scanf("%d",&a[i]); } return (No2); } void Lsearch(int a[100],int No2) { int i , No3 = 0; int flag = 0; printf("\nPlease Enter The Element Which You Want Search Into The Array A ::\t"); scanf("%d",&No3); for(i=0;i<No2;i++) { if(No3 == a[i]) { flag = 1; break; } else { flag = 0; } } if(flag == 1) { printf("\nThe Entered Element (%d) Is Found Into Array A At (%d) Location With Memory Location :- (%u)",a[i],(i+1),&a[i]); } else { printf("\nSorry!!! The Entered Element Was Not Found Into Array A. Please Try Again!"); } } void Bsearch(int a[100],int No2) { int i , Ptr , Temp = 0 , No4 = 0; int Lb = 0 , Mid = 0 , Ub = No2; int flag = 0; for(i=1;i<No2;i++) { Ptr = 0; while(Ptr <= (No2 - i)) { if(a[Ptr] > a[Ptr+1]) { Temp = a[Ptr]; a[Ptr] = a[Ptr+1]; a[Ptr+1] = Temp; } Ptr++; } } printf("\nYour Entered Elements Have Been Sorted Into The Array A ::\n"); for(i=0;i<No2;i++) { printf("%d \n",a[i]); } Mid = ((Lb + Ub) / 2); printf("\nPlease Enter The Element Which You Want Search Into The Array A ::\t"); scanf("%d",&No4); if(No4 == a[Mid]) { flag = 1; } else { if(No4 < a[Mid]) { for(i=Lb;i<Mid;i++) { if(No4 == a[i]) { flag = 1; break; } } } else { for(i=(Mid+1);i<Ub;i++) { if(No4 == a[i]) { flag = 1; break; } } } } if(flag == 1) { printf("\nThe Entered Element (%d) Is Found Into Array A At (%d) Location With Memory Location :- (%u)",a[i],(i+1),&a[i]); } else { printf("\nSorry!!! The Entered Element Was Not Found Into Array A. Please Try Again!"); } } void Fsearch() { int No2 = 0 , a[100] , i , k , Ptr , Temp = 0 , key = 0 , p , q , Mid = 0 , Result = 0; printf("\nPlease Enter The Limit Of Array A ::\t"); scanf("%d",&No2); printf("\nPlease Enter The Elements For Array A ::\n"); for(i=0;i<No2;i++) { scanf("%d",&a[i]); } for(i=1;i<No2;i++) { Ptr = 0; while(Ptr < (No2 - i)) { if(a[Ptr] > a[Ptr+1]) { Temp = a[Ptr]; a[Ptr] = a[Ptr+1]; a[Ptr+1] = Temp; } Ptr++; } } printf("\nYour Entered Elements Have Been Sorted Into The Array A ::\n"); for(i=0;i<No2;i++) { printf("%d \n",a[i]); } printf("\nEnter The Element To Be Searched ::\t "); scanf("%d",&key); for(k=1 ; fib(k) <= No2 ; k++); p = fib(k-2); q = fib(k-3); Mid = No2-p+1; Result = FibSearch(a,key,Mid,p,q); if(Result == -1) printf("\nSorry!!! The Entered Element Was Not Found Into Array A. Please Try Again!"); else printf("\nThe Entered Element (%d) Is Found Into Array A At (%d) Location",key,Result); } int FibSearch(int a[],int key,int Mid ,int p ,int q) { int Temp; if(key==a[Mid]) return(Mid); if(key> a[Mid]) { if(p == 1) return(-1); Mid = (Mid + q); // new mid p = (p - q); //p=fib(k-4) q = (q - p); //q=fib(k-5) return(FibSearch(a,key,Mid,p,q)); } else //key < a[mid] { if(q==0) return(-1); Mid = (Mid - q); // new mid Temp = (p - q); p = q; //p=fib(k-3) q = Temp; //q=fib(k-4) return(FibSearch(a,key,Mid,p,q)); } } int fib(int n) { if(n==0) { return(0); } if(n==1) { return(1); } return(fib(n-1)+fib(n-2)); } Output :~ Please Select One Of The Following Options :: 1. Linear Searching 2. Binary Searching 3. Fibbonanci Searching 4. Exit From Menu Please Enter Your Choice Here :: 1 Please Enter The Limit Of Array A :: 5 Please Enter The Elements For Array A :: 5 1 3 2 4 Please Enter The Element Which You Want To Search Into Array A :: 3 The Entered Element (3) Is Found Into Array A At (3) Location With Memory Location :- 62230 Please Select One Of The Following Options :: 1. Linear Searching 2. Binary Searching 3. Fibbonanci Searching 4. Exit From Menu Please Enter Your Choice Here :: 2 Please Enter The Limit Of Array A :: 5 Please Enter The Elements For Array A :: 5 1 3 2 4 Your Entered Elements Have Been Sorted Into The Array A :: 1 2 3 4 5 Please Enter The Element Which You Want To Search Into Array A :: 5 The Entered Element (5) Is Found Into Array A At (5) Location With Memory Location :- 62234 Please Select One Of The Following Options :: 1. Linear Searching 2. Binary Searching 3. Fibbonanci Searching 4. Exit From Menu Please Enter Your Choice Here :: 3 Please Enter The Limit Of Array A :: 5 Please Enter The Elements For Array A :: 5 1 3 2 4 Your Entered Elements Have Been Sorted Into The Array A :: 1 2 3 4 5 Please Enter The Element Which You Want To Search Into Array A :: 3 The Entered Element (3) Is Found Into Array A At (2) Location Please Select One Of The Following Options :: 1. Linear Searching 2. Binary Searching 3. Fibbonanci Searching 4. Exit From Menu Please Enter Your Choice Here :: 4 |
You are subscribed to email updates from Most Commonly Asked Programs In 'C' & 'C++' Language. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Post a Comment