Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Drop8Dead
 Аватар для Drop8Dead
0 / 0 / 0
Регистрация: 09.05.2012
Сообщений: 52
#1

Как дозаписать элемент в list - C++

23.02.2014, 20:16. Просмотров 146. Ответов 0
Метки нет (Все метки)

Имеется структура :

C++
1
2
3
4
5
6
struct InverseIndex
{
int NumberOfWorld;//Номер слова
string Word; //само слово
 set <int> SetOfDocuments;//список документов, где встречалось слово
};
и list этих структур:

C++
1
list <InverseIndex> ListOfInvIndex;
Программа считывает слова из файлов (у каждого файла есть номер) и записывает их в структуру. Затем эта структура записывается в List.

Но когда считывается слово, которое уже есть в list, то нужно добавить во множество set номер документа, в котором встретилось это слово (то есть изменить поле структуры),
C++
1
set <int> SetOfDocuments;
Вопрос: как обратиться к элементу множества и изменить поле в структуре?

Делал так

C++
1
2
3
4
5
6
7
8
9
10
11
12
typedef list<InverseIndex>::const_iterator LI;
            for (LI i=ListOfInvIndex.begin();i!=ListOfInvIndex.end();i++)
                {
                   const InverseIndex& e=*i;
 
                   if(e.Word==Word)
                   {
                      
                      ListOfInvIndex[i].SetOfDocuments.insert(Document.NumberOfDocement);
                      FoundInList = true;
                      break;
                   }//if
Но здесь ошибка

C++
1
 ListOfInvIndex[i].SetOfDocuments.insert(Document.NumberOfDocement);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2014, 20:16     Как дозаписать элемент в list
Посмотрите здесь:

C++ STL list. Какая функция ищет указатель на элемент равный а ?
C++ Как вывести в файл list<string>?
C++ Как вывести list<string>?
C++ Как удалить первый элемент из std::list?
Как обратиться к элементу списка list ? C++
как передать struct в list C++
C++ Как отсортировать <list> по одному из свойств
C++ Преобразование списка list в *list
Переместить элемент внутри списка std::list C++
C++ Как инициализировать list массивов
C++ Как вывести содержимое list?
C++ Указатель на элемент контейнера list

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru