Другие языки программирования и технологии

помогите! еще раз! очень нужно!!! С++

Задана последовательность чисел, имеющая равные между собой элементы. Упорядочить последовательность по убыванию методом обмена, исключив из нее равные между собой элементы.
#include <ctime>
#include <cstdlib>
#include <iostream>

using namespace std;

int main() {
    srand(time(0));
    int a[20], n = 20;
    for (int c = 0; c < n; ++c) cout << (a[c] = rand() % 10) << ' ';
    cout << endl;
    for (int r = 0; r < n - 1; ++r) {
        for (int c = 0; c < n - r - 1; ++c) {
            if (a[c] == a[c + 1]) {
                int k = c + 1;
                for (int j = c + 1; j < n; ++j) if ((a[j] != a[c])) a[k++] = a[j];
                n = k;
            }
            if (a[c] < a[c + 1]) {
                int t = a[c];
                a[c] = a[c + 1];
                a[c + 1] = t;
            }
        }
    }
    for (int c = 0; c < n; ++c) cout << a[c] << ' ';
    cout << endl;
    return 0;
}
ЕС
Евгений Стрельников
54 997
Лучший ответ