Вопрос по информатике:
Программа на с++(срочно)
Напишите программу, которая сортирует массив целых чисел и определяет количество различных значений в нём.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
Программа должна вывести в первой строке элементы массива, отсортированного в порядке возрастания, а во второй строке – количество различных чисел в массиве.
Примеры
входные данные
6
6 2 1 3 6 2
выходные данные
1 2 2 3 6 6
4
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 13.11.2016 08:54
- Информатика
- remove_red_eye 6582
- thumb_up 32
Ответы и объяснения 1
#include
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;
}
- 14.11.2016 16:45
- thumb_up 29
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.