check home phone-call search send

سورس برنامه جستجوی دو دویی آرایه

خیلی از کاربران در مورد برنامه جستجوی دو دویی آرایه در سی پلاس پلاس سوال پرسیده بودند و نحوه کد نویسی رو بیشتر سوال پرسیده بودند در این پست سورس کد جستجوی دو دویی آرایه را آماده کردیم. معمولا یکی از تمرین هایی که اساتید درس برنامه نویسی سی پلاس پلاس میدهند سوال : برنامه ای بنویسید که آرایه ای را از ورودی بگیرد و با استفاده از جستجوی دودویی کلیدی را داخل آرایه جستجو کند هست که این سورس کد جواب این سوال و تمرین می باشد.

سورس برنامه جستجوی دو دویی آرایه

این رو هم باید بگویم برای جستجوی دودویی در آرایه حتما باید آرایه مورد جستجو مرتب باشد. حتما این نکته رو در ذهن داشته باشید.

سورس برنامه جستجوی دو دویی آرایه در سی پلاس پلاس

#include<iostream>
#include<conio.h>
using namespace std;
 
void insert(int[],int);
void sort(int[],int);
void print(int[],int);
int search(int[],int,int);
 
main()
{
int a[100];
int n,result,key;
cout<<"enter number of digits:";
cin>>n;
cout<<"\n\n";
insert(a,n);
sort(a,n);
cout<<"\n\n"<<"after sort array is:\n\n";
print(a,n);
cout<<"\n\n"<<"enter a key to search in array:";
cin>>key;
result=search(a,n,key);
if(result==n)
cout<<"\n\n"<<"can not found key.";
else
cout<<"\n\nkey found =>a["<<result<<"]="<<key;
cout<<"\n\n"<<"press any key to exit...";
getch();
return 0;
}
//**********
void insert(int a[],int n)
{
for(int i=0;i<n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
}//end of insert()
 
//**********
void sort(int a[],int n)
{
int i,j,temp;
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}//end of if
}//end of enternal for
}//end of external for
}//end of sort()
 
//**********
int search(int a[],int n,int key)
{
int low=0,high=n-1,mid;
while(low<=high)
{
mid=(low+high)/2;
if(a[mid]==key)
return mid;
if(a[mid]>key)
high=mid-1;
else
low=mid+1;
}
return n;
}
//**********
void print(int a[],int n)
{
for(int i=0;i<n;i++)
cout<<a[i]<<',';
}
 
//>   sourceiran.com
Avatar
پشتیبان سورس ایران 2180 مطلب منتشر شده

در مجموعه سورس ایران سعی می کنیم علاوه بر آموزش برنامه نویسی، به مسائل مرتبط و مهارت های نرم بپردازیم تا بعدهای مختلف را پوشش دهیم.

دیدگاه کاربران

تعداد دیدگاه های کاربران : ۰ دیدگاه
هنوز دیدگاهی ارسال نشده است.


شما با موفقیت در خبرنامه ما عضو شدید