|
1 / 1 / 0
Регистрация: 05.08.2017
Сообщений: 15
|
||||||
Вывести те элементы, которые встречаются в массиве только один раз05.08.2017, 13:12. Показов 43228. Ответов 199
Метки нет (Все метки)
Привет всем. Изучаю c++, ломаю уже 1 день голову над данной задачей:
Дан массив. Выведите те его элементы, которые встречаются в массиве только один раз. Элементы нужно выводить в том порядке, в котором они встречаются в списке. Сделал идею такую: если элемент встречается 1 раз - то вывести его. НО, почему то, выводятся все элементы, день ломаю голову, не могу найти ошибку... код:
На вход получаю: 5 1 3 3 3 2 На выход получаю: 1 3 2 (вместо 1 2)
1
|
||||||
| 05.08.2017, 13:12 | |
|
Ответы с готовыми решениями:
199
Элементы массива, которые встречаются только один раз Удалить нечётные элементы, которые встречаются в массиве один раз |
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||
| 09.06.2026, 13:40 | |||
|
На другом компиляторе , думаю бы сработало. Вечером проверю.
0
|
|||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||||||
| 09.06.2026, 13:57 | ||||||
|
Тороплюсь, однако, не удержался, проверил по-быстрому, на ардуиновских "плюсах":
0
|
||||||
|
фрилансер
6510 / 5770 / 1135
Регистрация: 11.10.2019
Сообщений: 15,412
|
||
| 09.06.2026, 14:28 | ||
|
а в твоём - будет перезаписываться новыми значениями
0
|
||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||||||
| 09.06.2026, 17:40 | |||||||
0
|
|||||||
|
фрилансер
6510 / 5770 / 1135
Регистрация: 11.10.2019
Сообщений: 15,412
|
|
| 09.06.2026, 18:00 | |
|
Димон007,
st у тебя тут какого типа ?Но семантически это неправильно, хотя может работать
0
|
|
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||||||
| 09.06.2026, 18:12 | |||||||
|
Для проверки, сразу же подкинул твой вариант,
0
|
|||||||
|
-196 / 65 / 2
Регистрация: 23.11.2024
Сообщений: 852
|
|
| 09.06.2026, 18:22 | |
|
В задаче есть индексы, значения и результат - значение повторяемое или уникальное.
Сначала нам надо вычислить результат, а затем восстановить индексы (пробежать ещё раз по массиву и глядя на значение и соответствующий ему результат не вывести или вывести). Для вычисления мы формируем дерево, куда складываем значения и результат. Дерево нам даёт log(n) на поиск значений и все прочие операции. Общая сложность n*log(n)
0
|
|
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||
| 09.06.2026, 18:35 | ||
|
0
|
||
|
2532 / 1130 / 495
Регистрация: 17.11.2018
Сообщений: 2,840
|
|
| 09.06.2026, 22:15 | |
|
0
|
|
| 09.06.2026, 22:32 | |||
|
Простейшее/наивное решение - завести таблицу счетчиков и считать значение элемента индексом в этой таблице. Работает очень быстро, но таблица может быть огромной (для больших значений), и нет решения для других, не целых типов, хотя бы флотов. Стандартная библиотека предоставляет классы для поиска по ключу (ассоциативные контейнеры). Использование std::unordered_map (это хеш) обеспечивает 4 сек на 10 млн элементах - не так уж медленно, а главное - очень легко написать. В общем, перед тем как городить свое - смотрите что уже сделали люди.
0
|
|||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||
| 09.06.2026, 23:45 | ||
|
А если время на создание таблицы входит во время поиска(массив- то рандомный), тогда я видимо пока чего-то не понял.
0
|
||
| 10.06.2026, 00:19 | ||||||||||||
1
|
||||||||||||
|
-196 / 65 / 2
Регистрация: 23.11.2024
Сообщений: 852
|
||
| 10.06.2026, 01:36 | ||
|
если true - встретилось один раз. если false - два и более но можно написать кастомный класс, который для значений-ключей будет использовать дельта-кодирование, а для результатов будет использовать по восемь битов на байт (упакованный массив битов). Это будет тяжело, но может слегка повысить быстродействие (снизив промахи в кеш). Ещё, в качестве упражнения, можно выполнять на GPU и распараллелить. Компьютер брать с общей памятью для CPU и GPU (например ASUS ExpertCenter Pro ET900N G3 (1× GB300 Grace Blackwell Ultra) )
1
|
||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||||||
| 10.06.2026, 04:21 | |||||||
|
Вот, разобрался, и, перевёл на более понятный мне язык:
0
|
|||||||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||
| 10.06.2026, 04:28 | ||
|
P.S.Проверить, и, сравнить с ранее выложенным примером для 100000 элементов типа uint32_t не удалось, в системе не хватило памяти - bad_alloc
Добавлено через 2 минуты
0
|
||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||||||
| 10.06.2026, 11:51 | |||||||
0
|
|||||||
|
639 / 397 / 68
Регистрация: 09.03.2016
Сообщений: 4,381
|
|
| 10.06.2026, 12:23 | |
|
0
|
|
|
639 / 397 / 68
Регистрация: 09.03.2016
Сообщений: 4,381
|
|
| 10.06.2026, 12:31 | |
|
0
|
|
|
32 / 26 / 7
Регистрация: 22.02.2019
Сообщений: 111
|
|||||||
| 10.06.2026, 12:33 | |||||||
0
|
|||||||
|
639 / 397 / 68
Регистрация: 09.03.2016
Сообщений: 4,381
|
||||||
| 10.06.2026, 14:03 | ||||||
Находит первый повтор, ставит вместо него волшебное число и вылетает дальше на след. позишен. Ни чего не аккомулирует. С переду ни чего не читает. (Кто грамотный?)
0
|
||||||
| 10.06.2026, 14:03 | |
|
Вывести только те слова сообщения, которые встречаются в тексте один раз
Вывести только те слова сообщения, которые встречаются в нем ровно один раз Вывести в файл буквы исходного файла, которые встречаются только один раз Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|