Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 22.03.2022
Сообщений: 225

Проход по контейнеру и получение последнего активного значения

19.02.2024, 14:37. Показов 1641. Ответов 28
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Есть лист структуры, каждая структура это значение и булево значение активности.
Все структуры находятся в строгом порядке, то есть 1,2,3,4,5. Не может быть такого чтобы была ситуация 1,2,5,4,3.
Активными могут быть минимум 0 а максимум например 5, и нужно узнать какой последний.
Количество активных может меняться постоянно, а значит нужен постоянный проход.

Вопрос, как можно такой алгоритм поиска осуществить чтобы быстро находить последний?

Иметь дополнительно под каждую структуру еще флаг?
Посоветуйте пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.02.2024, 14:37
Ответы с готовыми решениями:

Проход по какому-либо контейнеру
Всем привет. Когда изучал set наткнулся на такой способ прохода for(auto i : set). И недавно наткнулся на такую же запись в массиве. Я так...

Выделение всей активной строки со значениями до последнего активного значения в таблице
Здравствуйте, прошу помощи Есть таблица, со значениями, где мне нужно выделить всю активную строку со значениями до последнего активного...

Получение последнего значения поля с автоинкрементом
Делаю запись в БД (там ключевым полем является номер ID с "AUTO_INCREMENT"), как после этого действия получить ID новой записи? P.S. В...

28
2 / 2 / 0
Регистрация: 22.03.2022
Сообщений: 225
27.02.2024, 19:49  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от lemegeton Посмотреть сообщение
Расскажите подробнее, что вы пишете.
Попробую сейчас получше описать.
В методе вызывается в бесконечном цикле прилетает аргумент, в нем есть лист со структурой, главное в нем для меня это 2 поля, число и активность.
Данный аргумент в метод передается уже в возможном измененом виде, то есть что-то будет активно, какие то значения могут остатся не активными. Привожу пример вариантов, каждая сторона будет как новая итерация и только активности.
0 0 0 0
0 0 0 0
0 1 0 0
0 1 0 1
0 0 1 1
0 0 0 0
0 1 0 1
0 1 1 0
Как видите состояние активности меняется по разному. и для моей задачи надо знать какой по индексу был последним активный, и по индексу я потом я образаюсь за другйо информацией, в частности за числом.
Вариант с переворачиванием данного листа, получение того кто оказывается в перевернутом самым первым, сохранение его индекса но в нормальнмо виде, мне показалось хорошим вариантом.
Сразу скажу, я ничего в лист добавлять не могу, я могу только читать то что в нем есть и реагировать на результаты.
0
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
27.02.2024, 20:02
SektorCT, обьясни на этом примере, вот ты перевернул список, и взял первый элемент (а почему нельзя взять последний элемент исходного списка, нах его переворачивать то?) и почему ты считаешь, что этот элемент будет тем последним, который изменился? я честно не догоняю...

Добавлено через 3 минуты
вот у тебя некий массив, 1,2,3,4,5
поменялся 2-й элемент
ты взял последний 5й (или перевернул 5,4,3,2,1 и взял 1й который в исходном виде 5й)
но это ниразу не тот элемент, который менялся
или я чего-то не понимаю?
0
фрилансер
 Аватар для Алексей1153
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,289
27.02.2024, 20:08
sdf45, а я из этого потока сознания вообще ничего не понял

какой-то лист, какая-то активность

ТЗ - хз

Добавлено через 53 секунды
SektorCT, давай без абстракций, просто расскажи, в чём задача заключается
0
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
27.02.2024, 20:15
Алексей1153, я (хз правильно или нет) понял так, что на входе есть некий вектор, элементами которого является структура вида struct{int value, bool status}, и status может меняться в каждой итерации получения этого вектора. И вот ТСу надо найти тот элемент вектора, в котором этот самый status изменился последним. То есть там где-то меняется скажем 2й, 8й, 3й элемент именно в таком порядке, и ему нужен последний -3й, откуда надо брать value
0
2 / 2 / 0
Регистрация: 22.03.2022
Сообщений: 225
27.02.2024, 20:37  [ТС]
Цитата Сообщение от sdf45 Посмотреть сообщение
я (хз правильно или нет) понял так, что на входе есть некий вектор, элементами которого является структура вида struct{int value, bool status}, и status может меняться в каждой итерации получения этого вектора. И вот ТСу надо найти тот элемент вектора, в котором этот самый status изменился последним. То есть там где-то меняется скажем 2й, 8й, 3й элемент именно в таком порядке, и ему нужен последний -3й, откуда надо брать value
по сути так как вы и описали, порядок ни меняется, числа ни меняются, меняется только активность. И нужен последний.
Зная индекс того статуса кто стал на данной итерации последним я моуг узнать к какому числу он относится.
Но всегда важно знать именно кто из статусов стал активным последний.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
27.02.2024, 21:30
Цитата Сообщение от Алексей1153 Посмотреть сообщение
а я из этого потока сознания вообще ничего не понял
потому что это не он, это поток запрограммированного роботом детеныша.
0
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
27.02.2024, 21:45
SektorCT, лично мое мнение:
Если в приходящем векторе меняется не один, а несколько элементов, и никак нельзя изменить формат входящих данных, то никак нельзя узнать хронологию этих изменений, если она не приходит от меняющей стороны. Даже сохраняя копию или некое состояние предидущего значения. Во всяком случае, я таких способов не знаю. Насколько я понимаю, тут либо обновлять состояние полностью на каждой итерации изменений, либо сохранять предидущее состояние и обрабатывать только то, что изменилось. Если не ошибаюсь, сабж связан с Qt QML(моделями), и по идее, не стоит париться- используемая модель все сделает сама.
0
2 / 2 / 0
Регистрация: 22.03.2022
Сообщений: 225
27.02.2024, 22:17  [ТС]
Всем спасибо, извиняюсь что может не очень хорошо смог обьяснить. Исходя из последнего сообщения решил оставить обычный проход по контейнеру, и когда получаю последний активный индекс его сохраняю.
Проходить буду всегда с начала и до конца.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
27.02.2024, 22:29
Цитата Сообщение от sdf45 Посмотреть сообщение
Если в приходящем векторе меняется не один, а несколько элементов, и никак нельзя изменить формат входящих данных, то никак нельзя узнать хронологию этих изменений,
Только в стандартном веторе и только в нем.

Добавлено через 1 минуту
Цитата Сообщение от SektorCT Посмотреть сообщение
Проходить буду всегда с начала и до конца.
Да да, итак миллион елементов, тру вей ! Йв-Йв-натюрлих!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.02.2024, 22:29

Перемещение по контейнеру и получение значений
Всем привет. Есть QMap с такими значениями m_VecZoom.insert(0, 25); m_VecZoom.insert(1, 50); m_VecZoom.insert(2,...

Получение первого и пОследнего значения методом forEach
Здравствуйте :) Есть треугольники, вершины перебираю следующим образом mylib.getTriangles().forEach(function(triangle) { ...

Получение значения последнего элемента в поле ID списка List<>
как мне получить значение последнего элемента в указанном поле в списке?

Получение активного окна
Платформа 7.7 . Есть задачка. Надо на кнопку в панели инструментов повесть сохранение активной таблицы в файл(для последующей манипуляции)....

Получение дескриптора активного окна
Изобретаю свой велосипед скриншотер. Для этого потребовалось вытащить дескриптор активного, в данный момент, окна. То есть по нажатию...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru