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 .";
}
}
#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 .";
}
}