PDA

View Full Version : جست وجوی دودویی



f_shojaei1369
چهارشنبه 09 دی 1388, 22:13 عصر
برنامه ای در c++ بنویسید که 100 عدد صحیح را از ورودی گرفته و به صورت دودویی عنصری مانند x را در ان جستجو کند ودر صورت یافتن مکان عدد را چاپ کند واعلام نماید که عدد پیدا شده.ببینین درسته




#include <iostream.h>
#include <conio.h>
void search(int ,int[]);
int main()
{
int a[100];
int i,j,temp,n;
for (i= 0;i<100;i++){
cout << "Enter Number " << i+1 << " :";
cin >> a[i];
}
for (i=0;i<100;i++)
for(j=i;j<100;j++)
if (a[i] > a[j]){
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
cout << "Enter number to sreach : ";
cin >> n;
search(n,a);
return 0;
}
//**********************************
void search (int n ,int a[])
{
int makan;
bool flag;
int high ;
int low ;
int mid ;
flag = false;
low = 0;
high = 100;
while (high > low && flag == false){
{
mid = int((high + low)/2);
if (a[mid] == n)
flag = true;
else
if (n > a[mid])
low = mid + 1;
else
high = mid - 1;

}
if (flag == true)
cout << "ADAD YAFT SHOD . MAKANE ADAD = " << mid;
else
cout << "ADAD YAFT NASHID .";

}
}

f_shojaei1369
چهارشنبه 09 دی 1388, 22:14 عصر
میبینین بر عکس در میاد.نمیدونم چرا؟

clover
چهارشنبه 09 دی 1388, 22:31 عصر
میبینین بر عکس در میاد.نمیدونم چرا؟

دوست عزیز
از تگ های کد برای وارد کردن کدهاتون استفاده کنید. بر روی آیکون # در بالای ویرایشگر کلیک کنید و بین تگ های CODE ظاهر شده، کدهای خودتونو وارد کنید.

#include <iostream.h>
#include <conio.h>
void search(int ,int[]);
int main()
{
int a[100];
int i,j,temp,n;
for (i= 0;i<100;i++){
cout << "Enter Number " << i+1 << " :";
cin >> a[i];
}
for (i=0;i<100;i++)
for(j=i;j<100;j++)
if (a[i] > a[j]){
temp = a[j];
a[j] = a[i];
a = temp;
}
cout << "Enter number to sreach : ";
cin >> n;
search(n,a);
return 0;
}
//**********************************
void search (int n ,int a[])
{
int makan;
bool flag;
int high ;
int low ;
int mid ;
flag = false;
low = 0;
high = 100;
while (high > low && flag == false){
{
mid = int((high + low)/2);
if (a[mid] == n)
flag = true;
else
if (n > a[mid])
low = mid + 1;
else
high = mid - 1;

}
if (flag == true)
cout << "ADAD YAFT SHOD . MAKANE ADAD = " << mid;
else
cout << "ADAD YAFT NASHID .";

}
}
در ضمن برای یک موضوع چند تاپیک ایجاد نکنید، این خلاف مقررات سایت هست. مطالب مربوط را در یک تاپیک مطرح کنید، حتما جواب می گیرید.
موفق باشید.