
Исправить код на C++ Уникальные элементы Дан массив. Распечатайте только те значения элементов
массива, которые встречаются в нем ровно один раз. Элементы следует распечатывать в том порядке, в котором они встречаются в массиве. Создавать новые массивы нельзя. Входные данные В первой строке входных данных содержится натуральное число n (n≤100) — количество элементов массива. В следующей строке содержится n натуральных чисел, не превосходящих 30000 — элементы массива. Выходные данные Выведите ответ на задачу. Есть код который удаляет повторяющиеся числа: #include #include using namespace std; int main() { int n; cin >> n; vector v(n); for (int i = 0; i < n; ++i){ cin >> v[i]; } for (int i = 0; i < n; ++i){ bool flag = false; for (int j = 0; j < i; ++j){ if (v[i] == v[j]){ flag = true; } } if (!flag){ cout << v[i] << " "; } } return 0; }

Ответы на вопрос

Ответ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <vector>
using namespace std;
int main () {
int n, numMin = 0, p = 0;
cin >> n;
vector <int> num(n);
for (int i = 0; i < n; i++)
cin >> num[i];
for (int i = 0; i < n; i++) {
int rav = 0;
for (int i = p; i < n; i++) {
if (num[numMin] == num[i]) {
rav++;
}
}
if (rav == 1) {
cout << num[numMin] << " ";
}
numMin++;
p++;
}
return 0;
}
На вход получаю:
5
1 3 3 3 2
На выход получаю:
1 3 2 (вместо 1 2)
1
Объяснение:



В данном коде реализован алгоритм удаления повторяющихся чисел из массива и вывод только уникальных элементов.
Алгоритм работает следующим образом: 1. Сначала считывается количество элементов массива `n` и создается вектор `v` размером `n`. 2. Затем происходит считывание элементов массива и сохранение их в векторе `v`. 3. Далее, с помощью двух вложенных циклов происходит проверка каждого элемента массива на наличие повторений. Внешний цикл перебирает элементы массива по порядку, а внутренний цикл проверяет все предыдущие элементы на равенство текущему. Если найдено совпадение, то устанавливается флаг `flag` в значение `true`. 4. После прохождения внутреннего цикла для каждого элемента массива, проверяется значение флага. Если флаг равен `false`, то выводится текущий элемент массива. 5. В конце программы возвращается значение `0`, указывающее на успешное завершение программы.
Однак


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili