|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
||
Найти все записи вектора А присутствующие в векторе В10.05.2023, 08:21. Показов 2141. Ответов 56
Метки нет (Все метки)
Всем здрасте!
Задачка следующая. Есть 2 вектора А и В. Вектор А получен чтением из файла. Вектор В получен рекурсивным сканированием дериктории Необходимо создать вектора С, в котором будет: все записи из вектора А за исключением отсутствующих в векторе В, а так же отсутствующих в векторе А, но присутствующих в векторе В. Содержимое векторов примерно следующее: Кликните здесь для просмотра всего текста
0
|
||
| 10.05.2023, 08:21 | |
|
Ответы с готовыми решениями:
56
В векторе. Найти наименьший четный элемент вектора и поменять с первым элементом Если в векторе А минимальный положительный элемент встретился один раз, то заменить все большие его элементы вектора на
|
|
фрилансер
6509 / 5764 / 1135
Регистрация: 11.10.2019
Сообщений: 15,415
|
|
| 11.05.2023, 17:00 | |
|
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 11.05.2023, 17:09 [ТС] | |
|
Алексей1153, с путями всё хорошо. Вопрос: сейчас что пытались сделать? Всё ТЗ или только разность?
0
|
|
|
фрилансер
6509 / 5764 / 1135
Регистрация: 11.10.2019
Сообщений: 15,415
|
||
| 11.05.2023, 17:34 | ||
|
вот это делал, тестировал тестовым набором
blackeangel, скинь сюда два набора строк, полученных в твоих векторах. Я с ними попробую
0
|
||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 11.05.2023, 19:39 [ТС] | |
|
Алексей1153, А это тот самый файл. В и В1 файлы, полученные после рекурсией папки, для примера.
Т.к. А-В=0, то должно получиться С=А+В, а не С=0.
0
|
|
|
фрилансер
6509 / 5764 / 1135
Регистрация: 11.10.2019
Сообщений: 15,415
|
||
| 11.05.2023, 20:03 | ||
A and !B or !A and Bа это исключающее или, то есть xor , std::set_difference Добавлено через 1 минуту то есть, такие записи, которые есть лишь в одном списке
0
|
||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 11.05.2023, 20:21 [ТС] | |
|
Алексей1153, видимо запутались.
Итак, сначала ИЗ вектора А удалим те записи, которые есть в А, но их нет в В. Вторым действием в А добавим записи, которые ЕСТЬ в В, но их нет в А. Это и будет результирующий вектор С.
0
|
|
|
фрилансер
6509 / 5764 / 1135
Регистрация: 11.10.2019
Сообщений: 15,415
|
|
| 11.05.2023, 20:28 | |
|
blackeangel, тогда остаётся std::set_symmetric_difference
![]() в общем, программа рабочая, нужно только правильную функцию-алгоритм подобрать
1
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 11.05.2023, 21:07 | |
|
blackeangel
Только мне кажется что программирование не твое. Не могу не вспомнить пословицу : "не можешь срать - не мучай жопу". Хотя если цель таки посрать. то ваши темы приобретают смысл и запах. Если я неправ, пускай, перед чисткой - удалением моего сообщения, те кто пытались помочь ТС, приведут какието аргументы, что у ТС есть хоть какие то задатки к данному ремеслу. Ибо у меня сомнений нет.
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 11.05.2023, 21:21 [ТС] | |
|
SmallEvil, ну я ж этим хлеб не зарабатываю, как некоторые, посему мне простительно это. Хотя за 8 лет, ковыряния языков это 5й (vba, python, C#, java). Да, пускай поверхностно, но решать свои задачки хватает. Что то серьезное кодить или становиться программистом - такова задача не стоит.
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 11.05.2023, 21:29 | ||
|
А в правильной постановке/выборе вопросов. Что является следствием способности анализа. На что влияют врожденные способности, накопленные знания+опыт (что одно и тоже, но я спец. их упомянул отдельно) и мотивация. Я вот не пытаюсь вас обидеть. Просто вместо создания этих бесполезных для вас тем, может все же обдумаете о том как повысить ваш уровень анализа либо потратить свое время (которое у всех драгоценное) на что то более стоящее ? На этом прошу откланяться.
1
|
||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 11.05.2023, 23:14 [ТС] | |
|
Алексей1153, по вашему совету заменил на std::set_symmetric_difference, казалось бы, что верно работает, но после нескольких тестов результат оказался грустным, да ещё и правая часть из В теряется. В общем, забейте - сделаю переборами, и ничего не потеряется и мне понятно, и дебагить просто.
Добавлено через 3 минуты Алексей1153, всё равно спасибо за попытки помочь
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 12.05.2023, 06:29 [ТС] | |
|
Пардон, правая часть на Месте, вчера не заметил
0
|
|
|
фрилансер
6509 / 5764 / 1135
Регистрация: 11.10.2019
Сообщений: 15,415
|
||
| 12.05.2023, 08:14 | ||
|
blackeangel, таки
std::set_symmetric_difference оказалось верным?Добавлено через 1 минуту std::set_difference - это разница между первым и вторым, а XOR это как раз именно std::set_symmetric_difference.
0
|
||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 12.05.2023, 08:33 [ТС] | |
|
Алексей1153, нет, не верным. Понял, что за один проход это не выполнить. std::set_symmetric_difference докидывает недостающее, но не исключает отсутствующее.
0
|
|
|
фрилансер
6509 / 5764 / 1135
Регистрация: 11.10.2019
Сообщений: 15,415
|
|
| 12.05.2023, 08:36 | |
|
blackeangel,
A "111" "222" "333" "555" B "111" "444" "777" "555" что должно получиться в C ? Вручную, скорее всего, не нужно, максимум два алгоритма друг за другом запустить Добавлено через 20 секунд но можно и вручную, если так проще кажется
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
||||||
| 12.05.2023, 09:13 [ТС] | ||||||
|
Алексей1153,
С "1111" из А "4444" из В "7777" из В "5555" из А Скорее всего 2 алгоритма. Руками вот как это Кликните здесь для просмотра всего текста
Результат нужный , но оооочень медленный.... Добавлено через 1 минуту И сортировать не нужно, иначе потом работать с этими отсортироваными данными нереально
0
|
||||||
|
фрилансер
6509 / 5764 / 1135
Регистрация: 11.10.2019
Сообщений: 15,415
|
|
| 12.05.2023, 09:21 | |
|
вот так ?
A and B or !A and Bесли упростить, то (A or !A) and Bили Bв итоге - это просто содержимое B ![]() но, я так понимаю, соль тут в хвостиках. Поэтому, решение видится такое: копируем B в C полностьюзатем бежим по всем элементам C, ищем такой элемент в A и, если находим, копируем элемент из A в C на место сравниваемого элемента
1
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
||||||
| 12.05.2023, 10:26 [ТС] | ||||||
|
Алексей1153, кстати, да, об этом (чтобы за основу взять В) я как то не подумал. Зациклился на А.
Добавлено через 49 минут Всё равно медленно получается, около 60 сек 2 вектора по 4к. Это ж на сколько долго будет на 150к+.... Кликните здесь для просмотра всего текста
0
|
||||||
|
фрилансер
6509 / 5764 / 1135
Регистрация: 11.10.2019
Сообщений: 15,415
|
|
| 12.05.2023, 10:57 | |
|
blackeangel, искать то можно в сортированном, это будет быстрее. Если будет время, попробую
Добавлено через 24 минуты blackeangel, вообще, сортировать для скорости поиска нам надо только A, и обратно его порядок восстанавливать ведь не требуется? Но можно и восстановить, если нужно. Щас попробую "полный вариант", а потом подрежем лишнееДобавлено через 2 минуты blackeangel, и ещё момент - если записи повторные (и в A, и в B) - что делать? Или повторные выкинуть?
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 12.05.2023, 11:19 [ТС] | |
|
Алексей1153, нет, не требуется.
А повторные записи это как?
0
|
|
| 12.05.2023, 11:19 | |
|
В векторе-столбце произвольной длины найти все отрицательные/положительные элементы Найти и вывести все числа, которые присутствуют в векторе более одного раза Как увидеть все переменные присутствующие в скрипте? Вывести все различные буквы, присутствующие во введенной строке
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|