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

Контейнер map

16.01.2020, 18:00. Показов 1037. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему нельзя писать route[i]? Строки 4,6.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool search(const map<int, set<string>>& route, const set<string>& vstr)
{
    for (int i = 0; i < route.size(); ++i) {
        if (route[i] == vstr.size()) {
            int check = 0;
            for (const auto& item : route[i])
                if (vstr.count(item) == 1)
                    check++;
            if (check == vstr.size())
                return true;
        }
    }
    return false;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.01.2020, 18:00
Ответы с готовыми решениями:

Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std::map?
Здравствуйте. Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std map? Например: std::map...

Контейнер map
Здравствуйте, работаю с контейнером map, анализирую текст, получаю записи типа &quot;слово: число его появлений в тексте&quot;. Хотелось бы...

Контейнер map
Стоит задача реализовать контейнер map. Вопрос возникает при реализации итератора для этого контейнера. В итераторе должны быть реализованы...

16
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
16.01.2020, 18:05
потому что нет оператора [] для контейнера map
и вы же понимаете что контейнеры это не массивы?
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
16.01.2020, 18:07
Цитата Сообщение от EvilingDark Посмотреть сообщение
Почему нельзя писать route[i]?
потому что
Цитата Сообщение от EvilingDark Посмотреть сообщение
const
Добавлено через 1 минуту
используй std::map::find и если успешно, то обращайся к second
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
16.01.2020, 18:10
del
1
16.01.2020, 18:12

Не по теме:

Цитата Сообщение от IGPIGP Посмотреть сообщение
не будет толку
а я даже не смотрел что там сравнивается :)

0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
16.01.2020, 18:15
C++
1
route[i] == vstr.size()
множество можно сравнить с размером?
Цитата Сообщение от zayats80888 Посмотреть сообщение
а я даже не смотрел что там сравнивается
я тоже не до конца догнал)
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
16.01.2020, 18:19
Цитата Сообщение от AndryS1 Посмотреть сообщение
потому что нет оператора [] для контейнера map
https://en.cppreference.com/w/... perator_at
1
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 200
16.01.2020, 18:23  [ТС]
Как перебирать в set<string> по ключу? Строка 6

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool search(const map<int, set<string>>& route, const set<string>& vstr)
{
    for (int i = 0; i < route.size(); ++i) {
        if (route.count(i) == vstr.size()) {
            int check = 0;
            for (const auto& item : route.find(i))
                if (vstr.count(item) == 1)
                    check++;
            if (check == vstr.size())
                return true;
        }
    }
    return false;
}
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
16.01.2020, 18:31
Цитата Сообщение от EvilingDark Посмотреть сообщение
if (route.count(i) == vstr.size())
route.count(i) вернет либо 1 либо 0, причем здесь vstr.size()?

Добавлено через 2 минуты
скажите что должна делать эта функция, искать множество vstr среди значений route?
0
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 200
16.01.2020, 18:36  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
скажите что должна делать эта функция, искать множество vstr среди значений route?
C++
1
2
3
4
5
6
7
8
9
10
int search(const map<int, set<string>>& route, const set<string>& vstr)
{
    for (int i = 0; i < route.size(); ++i) {
        if (route.at(i).size() == vstr.size()) {
            if(route.at(i)==vstr)
                return i;
        }
    }
    return -1;
}
Вроде правильно теперь. На 4 строке надо сравнить размер set<string> из route и vstr.
На 6 сравнить их.
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
16.01.2020, 18:41
EvilingDark,
C++
1
2
3
4
5
6
7
8
int search(const map<int, set<string>>& route, const set<string>& vstr)
{
    for (auto&& p : route)
    {
        if (p.second == vstr) return p.first;
    }
    return -1;
}
Добавлено через 1 минуту
Цитата Сообщение от EvilingDark Посмотреть сообщение
route.at(i)
этот метод бросает исключение, забудьте про него

Не по теме:

жесть как форум тупит

0
фрилансер
 Аватар для Алексей1153
6466 / 5686 / 1131
Регистрация: 11.10.2019
Сообщений: 15,129
16.01.2020, 22:25
Цитата Сообщение от AndryS1 Посмотреть сообщение
потому что нет оператора [] для контейнера map
таки есть )
0
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
17.01.2020, 00:34
Цитата Сообщение от Алексей1153 Посмотреть сообщение
таки есть )
ну в любом случае используется не так как в примере..
0
фрилансер
 Аватар для Алексей1153
6466 / 5686 / 1131
Регистрация: 11.10.2019
Сообщений: 15,129
17.01.2020, 00:41
AndryS1, да, там две ошибки - отсутствие нужного оператора сравнения и константность мапы
0
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 200
17.01.2020, 03:16  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
for (auto&& p : route)
а зачем 2 ссылки?
0
Модератор
 Аватар для long399
2885 / 1840 / 933
Регистрация: 16.10.2013
Сообщений: 5,245
Записей в блоге: 15
17.01.2020, 05:14
EvilingDark, там и без двух ссылок по идее должно сработать
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
17.01.2020, 10:15
Цитата Сообщение от EvilingDark Посмотреть сообщение
а зачем 2 ссылки?
это forwarding reference
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2020, 10:15
Помогаю со студенческими работами здесь

Контейнер map ?
Не совсем удается разобраться Не удается разобраться с ассоциативными контейнерами ! Как выглядит объявление функции в псевдокоде? Что...

Контейнер map
подскажите пожалуйста, как можно заполнить контейнер map с клавиатуры ?

Контейнер map
в программе используется ассоциативный массив, идентификатором которого являются символы проблема в том что появляется элемент с...

Контейнер map
Cоздать ассоциативный список имен (ключей), телефонов. Осуществить поиск по именам. Дополнить его данным адрес. Добавить возможности...

контейнер map
Помогите, пожалуйста дописать программу. Определите карту, в которой ключом является фамилия семьи, а значением вектор, который содержит...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru