https://pastein.ru/t/Fd
скопируйте уникальную ссылку для отправки
#include <iostream>
#include <vector>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int* c = new int[1000]{};//элементы массива а не принимают значения больше 1000, c - массив, куда записывается кол-во одинаковых элементов
int* d = new int[1000]{};//расчет индексов
int n = 10;
int* b = new int[n] {};//отсортированный вектор
int* a = new int[n] {967, 38, 386, 25, 12, 38, 10, 25, 9, 68};
int r, s;
r = a[0];
s = a[0];
cout << "начальный массив" << endl;
for (int i = 0; i < n; i++)
{
cout << a[i] << endl;
}
cout << endl;
cout << endl;
cout << endl;
for (int i = 1; i < n; i++)
{
if (r > a[i])
{
r = a[i];
}
else
if (s < a[i])
s = a[i];
}
//cout << r << " " << s<<endl;
for (int i = 0; i < n; i++)
{
c[a[i]] = c[a[i]] + 1;
}
d[r] = 0;
for (int i = r + 1; i <= s; i++)
{
d[i] = d[i - 1] + c[i - 1];
}
int k;
for (int i = 0; i < n; i++)
{
k = a[i];
b[d[k]] = a[i];
d[k] = d[k] + 1;
}
cout << "Сортированный массив" << endl;
for (int i = 0; i < n; i++)
{
cout << b[i] << endl;
}
}