Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C+中的唯一字数+;帮忙?_C++_Function_Word Count - Fatal编程技术网

C++ C+中的唯一字数+;帮忙?

C++ C+中的唯一字数+;帮忙?,c++,function,word-count,C++,Function,Word Count,我想做一个功能,可以计算独特的话。例如: “我喜欢编写一些有用的程序。我喜欢吃。现在就吃冰淇淋。” 在这种情况下,每个独特的词: I occurs 2 like occurs 2 ... 稍后我将忽略这个案例。请帮忙 编辑: 我已经完成了函数的编写。它工作得很好。谢谢你的帮助。非常感谢。听起来您希望使用带有键字符串和int数据的 如果某个项目在地图中不存在,则将其添加为int值1。如果该项目已经存在于地图中,您只需在其关联值中添加1即可。我会将其视为一个家庭作业问题(希望没有人会如此轻率地给出

我想做一个功能,可以计算独特的话。例如:

“我喜欢编写一些有用的程序。我喜欢吃。现在就吃冰淇淋。”

在这种情况下,每个独特的词:

I occurs 2
like occurs 2
...
稍后我将忽略这个案例。请帮忙

编辑:


我已经完成了函数的编写。它工作得很好。谢谢你的帮助。非常感谢。

听起来您希望使用带有键字符串和int数据的


如果某个项目在地图中不存在,则将其添加为int值1。如果该项目已经存在于地图中,您只需在其关联值中添加1即可。

我会将其视为一个家庭作业问题(希望没有人会如此轻率地给出完整的代码)

如果您对“单词”的定义非常宽松,那么iostream输入已经为您将输入拆分为单词

然后使用例如
std::map
来计算不同的单词


干杯,这是一个了解迭代器和标准算法的绝佳机会

在从给定流中提取的单词列表上有一个循环,可以是
std::cin
,也可以是一个文件或字符串

有很多方法可以帮助你实现目标

示例程序:

#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;


int main()
{
    istream_iterator<string> begin(cin), end;
    vector<string> tmp;

    copy(begin, end, back_inserter(tmp));
    sort(tmp.begin(), tmp.end());
    vector<string>::iterator it = unique(tmp.begin(), tmp.end());

    cout << "Words:\n";
    copy(tmp.begin(), it, ostream_iterator<string>(cout));
}

#包括标准库以供进一步参考。

我明白了。如果我用的是地图,我以后能把它整理出来吗?如按频率排序,如果我的场景与此类似,请您指导我:。我非常需要它urgent@cpp_learner:如果你对其他方面不确定,你可以提出另一个问题,问什么让你困惑。@Brian R.Bond:你不能对std::map进行排序。不过,您可以使用自定义排序函数对其进行实例化。当您第一次访问索引时,它将被初始化为零。所以简单的解决方案就是总是1oh-ya,我不希望有完整的代码。一个使用map等的示例代码就可以了。以后我会自己去探索更多on@cpp_learner例如,如何使用<代码> STD::MAP<代码>或C++中的任何其他STD库构造,请看好的尝试:但是ISTRESAMIATIORATER将单词定义为空间分隔。这在大多数情况下都很好。但在这里,标点符号将发挥作用。还有,当地图自动排序和计算输入的内容时,为什么要使用矢量呢。