У меня есть структура:Как подсчитать количество уникальных элементов в массиве структур?
struct wordItem
{
string word;
int count;
};
Я читаю в текстовый файл со многими другими словами и хранящие их в массив.
ifstream inputFile("data.txt");
if(inputFile.is_open())
{
while(getline(inputFile, data, ' '))
{
wordItemList[i].word = data;
i++;
}
}
Мой вопрос - это лучший способ подсчитывать каждый раз, когда в массиве появляется слово. Например, если мой data.txt файл был
the fox jumped over the fence
Я хочу, чтобы иметь возможность хранить, сколько раз каждое слово в пределах структуры «счетчика INT;»
Вам нужна структура данных для сопоставления слова счетчику. В C++ у нас есть std :: map. Если это домашняя работа, вы должны сообщить нам, каков ваш уровень прогресса, возможно, std :: map еще не является для вас вариантом. – vz0
['std :: map'] (http://en.cppreference.com/w/cpp/container/map) или ['std :: unordered_map '] (http://en.cppreference.com/w/cpp/container/unordered_map). –
Cornstalks
Concur с Cornstalks. [Что-то вроде этого] (http://pastebin.com/JnGnwyfp). Извините заранее за любые ошибки синтаксиса. Измените каждый 'unordered_map' на' map', если хотите заказать). Да, это действительно так просто. Короче говоря, вам не нужна эта структура; карта будет содержать счетчик для вашего значения в виде сопоставленного значения. – WhozCraig