|
1 / 1 / 0
Регистрация: 05.08.2017
Сообщений: 15
|
||||||
Вывести те элементы, которые встречаются в массиве только один раз05.08.2017, 13:12. Показов 41038. Ответов 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
|
||||||
|
фрилансер
6500 / 5731 / 1133
Регистрация: 11.10.2019
Сообщений: 15,337
|
||
| 09.06.2026, 14:28 | ||
|
а в твоём - будет перезаписываться новыми значениями
0
|
||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||||||
| 09.06.2026, 17:40 | |||||||
0
|
|||||||
|
фрилансер
6500 / 5731 / 1133
Регистрация: 11.10.2019
Сообщений: 15,337
|
|
| 09.06.2026, 18:00 | |
|
Димон007,
st у тебя тут какого типа ?Но семантически это неправильно, хотя может работать
0
|
|
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||||||
| 09.06.2026, 18:12 | |||||||
|
Для проверки, сразу же подкинул твой вариант,
0
|
|||||||
|
-72 / 65 / 2
Регистрация: 23.11.2024
Сообщений: 817
|
|
| 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
|
||||||||||||
|
-72 / 65 / 2
Регистрация: 23.11.2024
Сообщений: 817
|
||
| 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
|
|||||||
|
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,292
|
|
| 10.06.2026, 12:23 | |
|
0
|
|
|
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,292
|
|
| 10.06.2026, 12:31 | |
|
0
|
|
|
32 / 26 / 7
Регистрация: 22.02.2019
Сообщений: 111
|
|||||||
| 10.06.2026, 12:33 | |||||||
0
|
|||||||
|
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,292
|
||||||
| 10.06.2026, 14:03 | ||||||
Находит первый повтор, ставит вместо него волшебное число и вылетает дальше на след. позишен. Ни чего не аккомулирует. С переду ни чего не читает. (Кто грамотный?)
0
|
||||||
| 10.06.2026, 14:03 | |
|
Вывести только те слова сообщения, которые встречаются в тексте один раз
Вывести только те слова сообщения, которые встречаются в нем ровно один раз Вывести в файл буквы исходного файла, которые встречаются только один раз Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|