Программа на с++() напишите программу, которая сортирует массив целых чисел и определяет количество различных значений в нём. входные данные первая строка содержит размер массива n . во второй строке через пробел n чисел – элементы массива. гарантируется, что 0 < n ≤ 10000 . выходные данные программа должна вывести в первой строке элементы массива, отсортированного в порядке возрастания, а во второй строке – количество различных чисел в массиве. примеры входные данные 6 6 2 1 3 6 2 выходные данные 1 2 2 3 6 6 4

Shamiloo98 Shamiloo98    1   10.09.2019 06:20    2

Ответы
ilyfghjjjh ilyfghjjjh  10.08.2020 17:28
#include <iostream>
#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;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика