计算唯一单词的数量(对于此计数,情况无关紧要)

Bro*_*r93 1 c++ string vector word-count

嘿,所以我很难搞清楚代码来计算独特单词的数量.我在psudeocode方面的思考过程是先制作一个矢量,vector<string> unique_word_list;然后我会让程序读取每一行,所以我会有类似的东西while(getline(fin,line)).对我来说困难的部分是提出代码,我检查向量(数组)以查看字符串是否已经存在.如果它在那里我只是增加字数(足够简单)但如果它不在那里那么我只是向矢量添加一个新元素.如果有人能帮助我,我真的很感激.我觉得这并不难,但由于某种原因,我无法想到将字符串与数组内部的数据进行比较并确定它是否是唯一的单词的代码.

Bar*_*rry 6

不要使用vector- 使用保持唯一性的容器,如std::setstd::unordered_set.std::tolower在添加之前,只需将字符串转换为小写(使用):

std::set<std::string> words;
std::string next;
while (file >> next) {
    std::transform(next.begin(), next.end(), next.begin(), std::tolower);
    words.insert(next);
}

std::cout << "We have " << words.size() << " unique words.\n"
Run Code Online (Sandbox Code Playgroud)