taodm((不能收CSDN社区短信息,请莫浪费精力)) 请进
你写的这个程序,遇到标点就有问题了。
比如 i am a student.i am want to be a teacher.
程序会把student.做为一个单词统计出来
。
怎么把标点替换成空格呢。我知道把一句话的标点替换换成空格,但是一篇以.txt存盘的文章,怎么替换呢。?麻烦给个程序,不胜感激!!!
#include <iostream>
#include <vector>
#include <map>
#include <fstream>
#include <iterator>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
ifstream input( "c:\\temp\\bignumber.h ");
map <string, int> s_num;
for (istream_iterator <string> iter(input); iter != istream_iterator <string> (); ++iter)
{
s_num[*iter] += 1;
}
multimap <int, string> num_s;
for (map <string, int> ::iterator iter = s_num.begin(); iter != s_num.end(); ++iter)
{
num_s.insert(make_pair(iter-> second, iter-> first));
}
int i = 0;
for (multimap <int, string> ::reverse_iterator iter = num_s.rbegin(); (i < 20) && (iter != num_s.rend()); ++i, ++iter)
{
cout < < iter-> second < < " " < < iter-> first < < "\r\n ";
}
cout < < endl;
system( "PAUSE ");
return 0;
}
[解决办法]
我建议你迎难而上,而不是老做1+1=2。