برنامه ای بنویسید که 2000 عدد بین 10000 و 20000 به صورت راندوم تولید کند و و در تابعی آنها را مرتب کند و عددی از کاربر گرفته و در تابعی دیگر بین اعداد به دنبال آن بگردد و در صورت وجود اعلام کند و در صورتیکه که کاربر موافق بود در تابعی دیگر همه اعداد را چاپ کند
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "stdlib.h"
#include "time.h"
using namespace std;
//alidoran
void sorting(int[], int);
void search(int[], int, int,int);
void print(int[], int);
int main() {
	int x[2000], size = 0, searchnumber , countnumber=0;
	srand(time(0));
	for (int i = 0; i<2000; i++)
		x[i] = ((rand() % 10000) + 10001);
	countnumber =  sizeof x/sizeof 4;
	sorting(x, size);
	cout << "please enter your search number:";
	cin >> searchnumber;
	search(x, size, searchnumber , countnumber);
	print(x, size);
	system("pause");
	return 0;
}
void sorting(int so[], int size)
{
	int temp, j = 0;
	for (int i = 0; i < 2000; i++) {
		j = i;
		for (j; j < 2000; j++) {
			if (so[i] > so[j])
			{
				temp = so[i];
				so[i] = so[j];
				so[j] = temp;
			}
		}
	}
}
void search(int numbers[], int size, int search, int count)
{
	int low = 0, hi = (count - 1),mid;
	while (low <= hi) {
		mid = ((low + hi) / 2);
		if (numbers[mid] == search)
		{cout << "number is available" << endl; 
		break;
		}
		if (numbers[mid] < search) low = mid+1;
		else hi = mid-1;
		}
	system("pause");
	}
void print(int numbers[], int size)
{
	int q;
	cout << "do you want to see numbers?"<<"if yes enter 1 or no another key";
	cin >> q;
	if (q == 1) {
		for (int i = 0; i < 2000; i++)
			cout << numbers[i] << "\t";
	}
}