我目前正在尝试编写代码来查找独特的行和独特的单词。我在下面尝试了针对唯一行的代码,但是当涉及到唯一行时,它无法正确计算。我相信它会忽略输入,但仍然计算包含字母、单词、句子等的行。因此,我需要帮助来确定要添加的内容,它将把输入(空白行)计为行,而不计算任何额外的行。相同的。我知道这种情况正在发生,因为我测试了几条不同的线路。至于独特的词,我什至不知道如何开始:/
unsigned long countULines(const string& s)
{
set<string> wl;
string ulines;
for(int ul = 0; ul < s.size(); ul++){
wl.insert(ulines);
}
return wl.size();
}
这对你有用:
#include <iostream>
#include <sstream>
#include <string>
#include <set>
size_t countUniqueLines(const std::string& s)
{
std::set<std::string> uniqueLines;
std::istringstream is(s);
std::string line;
while (std::getline(is, line)) {
if (!line.empty() && line[line.size() - 1] == '\r') {
line.erase(line.size() -1);
}
uniqueLines.insert(line);
}
return uniqueLines.size();
}
int main()
{
const std::string myLines = "four\none\n\ntwo\nthree\nthree\n\n";
std::cout << countUniqueLines(myLines) << std::endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)