Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 06.03.2017
Сообщений: 109

Вывести элементы масива, встречающиеся только один раз

07.08.2017, 17:25. Показов 3566. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан масcив из N целых чисел. Вывести те его элементы, которые встречаются в списке только один раз. Элементы нужно выводить в том порядке, в котором они встречаются в списке. Как это реализовать с помощью set/map?
Входные данные #1
7
3 5 -7 7 5 -9 -4
Выходные данные #1
3 -7 7 -9 -4
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.08.2017, 17:25
Ответы с готовыми решениями:

Найти символы встречающиеся в тексте только один раз
Помогите заданием , плиз) вот условие задание: 15.Задан массив из k символов латинского алфавита. Вывести на экран в алфавитном...

Вывести те элементы, которые встречаются в массиве только один раз
Привет всем. Изучаю c++, ломаю уже 1 день голову над данной задачей: Дан массив. Выведите те его элементы, которые встречаются в массиве...

Вывести все слова, встречающиеся в исходной строке ровно один раз
Дана строка символов, содержащая слова, то есть группы символов, разделенные пробелами (не менее одного). Составьте программу, которая ...

3
2393 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,563
07.08.2017, 17:35
Цитата Сообщение от MariaFitzgerald Посмотреть сообщение
Как это реализовать с помощью set/map?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int arr[N] = { 3, 5, -7, 7, 5, -9, -4 };
std::map<int, int> el;
for (int i = 0; i < N; ++i)
{
    if (el.find(arr[i]) == el.end())
        el[arr[i]] = 1;
    else
       ++el[arr[i]];
}
 
for (std::map<int, int>::iterator it = el.begin(); it != el.end(); ++it)
{
    if ((*it).second > 1)
       el.remove(it);
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
07.08.2017, 18:06
C++
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 <unordered_map>
 
int main() {
    const int COUNT = 7;
    int array[COUNT] = { 3, 5, -7, 7, 5, -9, -4 };
    
    std::cout << "ARRAY: ";
    for ( int n : array )
        std::cout << n << " ";
    std::cout << std::endl;
 
    std::unordered_map<int, int> umap;
    for ( int n : array )
        umap[n] += 1;
        
    std::cout << "UNIQUE: ";
    for ( int n : array )
        if ( umap[n] == 1 )
            std::cout << n << " ";
    std::cout << std::endl;
    
    return 0;
}
2
1 / 1 / 1
Регистрация: 02.08.2017
Сообщений: 6
08.08.2017, 16:48
Лучший ответ Сообщение было отмечено MariaFitzgerald как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
 
int main()
{
    vector<int> arr = { 3, 5, -7, 7, 5, -9, -4 };
    unordered_map<int, bool> uniq;
    for (int x : arr)
    {
        uniq[x] = uniq.find(x) == uniq.end();
    }
    for (int x : arr)
    {
        if (uniq[x]) cout << x << " ";
    }
    cout << endl;
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.08.2017, 16:48
Помогаю со студенческими работами здесь

Вывести на экран в алфавитном порядке символы, встречающиеся в массиве один раз
Дан массив символов английского алфавита. Вывести на экран в алфавитном порядке символы, встречающиеся в массиве один раз. в с++ билдер

Элементы массива, которые встречаются только один раз
Нужно создать функцию, которая выводит на экран номера элементов, встречающихся в массиве только один раз не знаю как это реализовать...

Как вывести строки только один раз в начале?
Нужно эти строки вывести только в начале, что бы после нажатия продолжения расчетов не выводило снова. cout &lt;&lt; &quot;ZADACHA...

Как сделать что бы повторяющиеся элементы выводило и считало только один раз?
#include &lt;stdio.h&gt;; #include &lt;math.h&gt;; int m,i,j,s,n; void main() { int arr; printf(&quot;\nУкажите размер массива - &quot;); ...

Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое.
Помогите пожалуйста решить задачу!!!!!! Дан целочисленный массив размера n. Удалить из массива все элементы встречающиеся менее 3-х...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru