Программа на с++(срочно)
Напишите программу, которая сортирует массив целых чисел и определяет количество различных значений в нём.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
Программа должна вывести в первой строке элементы массива, отсортированного в порядке возрастания, а во второй строке – количество различных чисел в массиве.
Примеры
входные данные
6
6 2 1 3 6 2
выходные данные
1 2 2 3 6 6
4
Answers & Comments
#include <algorithm>
using namespace std;
void sort(int a[], int n) {
for (int i = 0; i < n; i++) {
int j = i;
while (j > 0 && a[j - 1] > a[j]) {
if (a[j - 1] > a[j]) {
swap(a[j - 1], a[j]);
}
j--;
}
}
}
int main() {
int n;
cin >> n;
int count = 0;
int *a = new int[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a, n);
for (int i = 0; i < n; i++) {
if (a[i] != a[i + 1]) {
count++;
}
cout << a[i] << " ";
}
cout << endl << count;
delete[]a;
}