
C ++ Уникальные элементы Дан массив. Распечатайте только те значения элементов массива, которые
встречаются в нем ровно один раз. Элементы следует распечатывать в том порядке, в котором они встречаются в массиве. Создавать новые массивы нельзя. Входные данные В первой строке входных данных содержится натуральное число n (n≤100) — количество элементов массива. В следующей строке содержится n натуральных чисел, не превосходящих 30000 — элементы массива. Выходные данные Выведите ответ на задачу.

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

Ответ:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> 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;
}
}
for (int j = i + 1; j < n; ++j){
if (v[i] == v[j]){
flag = true;
}
}
if (flag == false){
cout << v[i] << " ";
}
}
return 0;
}
Объяснение:



Для решения этой задачи вам потребуется использовать структуры данных для подсчета количества вхождений каждого элемента в массиве. Затем вы можете пройтись по массиву и вывести только те элементы, которые встречаются ровно один раз. Вот C++ код для выполнения этой задачи:
cpp#include <iostream>
#include <vector>
#include <unordered_map>
int main() {
int n;
std::cin >> n;
std::vector<int> arr(n);
std::unordered_map<int, int> count;
for (int i = 0; i < n; i++) {
std::cin >> arr[i];
// Увеличиваем счетчик для текущего элемента в хэш-таблице
count[arr[i]]++;
}
for (int i = 0; i < n; i++) {
// Если элемент встречается ровно один раз, выводим его
if (count[arr[i]] == 1) {
std::cout << arr[i] << " ";
// Устанавливаем счетчик для этого элемента в ноль, чтобы избежать дублирования вывода
count[arr[i]] = 0;
}
}
return 0;
}
Этот код сначала считывает массив и использует хэш-таблицу (std::unordered_map
) для подсчета количества вхождений каждого элемента. Затем он проходит по массиву еще раз и выводит только те элементы, которые встречаются ровно один раз.


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