/**< int i,j,N=100,min_arr,max_arr=0,temp; double v=0; for(i=0; i<=N-1; i++) arr[i] = 0 + rand() % 20; for(int i=0; i<=N-1; i++) cout << arr[i] << " "; for(i=0; i<=N-1; i++) if(max_arrarr[i]) min_arr=arr[i]; v=(max_arr+min_arr)/2; //пузырек // for(i=1; i<=N-1; i++) // for(j=i+1; j>=1; j--) if(arr[j] #include #include #include #include #include using namespace std; long long int arr[100000]; bool check(int n); void qsort(int b, int size_arr); int main() { srand(time(NULL)); int n,i; cout << "Enter size array = "; cin >> n; if(check(n)) { cout << "Primordial array: "; for(i=0; i<=n-1; i++) arr[i] = rand() % 100; for(i=0; i<=n-1; i++) cout << arr[i] << " "; qsort(0,n-1); cout << "\n\nSorted array: "; for(i=0; i<=n-1; i++) cout << arr[i] << " "; cout << endl; } else cout << "Error!!!" << endl; return 0; } bool check(int n) { return (n>0) ? true : false; } void qsort(int b, int size_arr) { int key,left_bord,right_bord; left_bord = b; right_bord = size_arr; key = arr[(left_bord + right_bord)/2]; while(left_bord <= right_bord) { while(arr[left_bord] < key) left_bord++; while(arr[right_bord] > key) right_bord--; if(left_bord <= right_bord) { swap(arr[left_bord],arr[right_bord]); (left_bord++) && (right_bord--); } } if(b < right_bord) qsort(b, right_bord); if(size_arr > left_bord) qsort(left_bord, size_arr); }