#include <cstdlib>
#include <Windows.h>
#include <iostream>
#include <ctime>
using namespace std;
void arr_sort(int* arr, int first, int last)
{
int mid, dop;
int f = first, l = last;
mid = arr[(f + 1) / 2];
do
{
while (arr[f] < mid) f++;
while (arr[l] > mid) l--;
if (f <= l)
{
dop = arr[f];
arr[f] = arr[l];
arr[l] = dop;
f++;
l--;
}
} while (f < l);
if (first < l) arr_sort(arr, first, l);
if (f < last) arr_sort(arr, f, last);
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n;
cout << "Введите размер массива: "; cin >> n;
int* arr = new int[n];
for (int i = 0; i<int(n); i++)
arr[i] = rand() % 200 - 100;
cout << "Исходный массив: ";
for (int i = 0; i<int(n); i++)
cout << arr[i] << " ";
cout << "\n";
cout << " Отсортированный массив: ";
arr_sort(arr, 0, n - 1);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << "\n";
system("PAUSE");
return 0;
}