如何改进我的代码以正确计算唯一行数
How to improve my code to correctly count unique lines?
我目前正在尝试编写代码来查找独特的行以及唯一的单词。我在下面为唯一行尝试了代码,但是当涉及到唯一行时,它没有正确计算。我相信它忽略了输入并仍在计算包含字母、单词、句子等的行。所以我需要帮助来弄清楚要添加什么,它将输入(空行)计为行,而不是计算任何相同的额外行。我知道这种情况正在发生,因为我测试了几条不同的生产线。至于独特的单词,我什至不知道如何开始:/
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 = "fournonenntwonthreenthreenn";
std::cout << countUniqueLines(myLines) << std::endl;
}
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 递归函数计算序列中的平方和(并输出过程)
- (C++)分析树以计算返回错误值的简单算术表达式
- 我的字符计数代码计算错误.为什么
- 何时在引用或唯一指针上使用移动语义
- 在计算中使用二的幂有多有利可图
- 计算排序向量的向量中唯一值的计数
- C :如何计算数组中唯一客户端的数量并输出其支出
- 计算 UUID 是唯一的概率
- 以 C++ 为单位计算字符串中的唯一单词
- 使用标准库对矢量的矢量进行排序,并计算唯一出现的频率
- 计算数组中唯一字符的函数
- 如何计算出现在字符串和输出行中的唯一单词?C
- 计算唯一单词的数量(大小写对此计数无关紧要)
- Sqlite-根据列计算唯一值
- 计算数组中唯一字符串的数量
- 计算唯一单词的数量和每个单词的出现次数
- 计算包含某些项的列表集合的唯一排列的算法
- 异常vs断言的科学计算家伙(我是我的代码的唯一用户)
- 计算文件中唯一单词的最有效结构[c++]