【发布时间】:2012-03-11 11:25:26
【问题描述】:
我已经用谷歌搜索了这个问题,但找不到适用于我的代码的答案,所以我写了这个来获取单词的频率唯一的问题是我得到了错误的单词出现次数,除了一个我认为是侥幸。另外我正在检查一个单词是否已经输入到向量中,所以我不会两次计算同一个单词。
fileSize = textFile.size();
vector<wordFrequency> words (fileSize);
int index = 0;
for(int i = 0; i <= fileSize - 1; i++)
{
for(int j = 0; j < fileSize - 1; j++)
{
if(string::npos != textFile[i].find(textFile[j]) && words[i].Word != textFile[j])
{
words[j].Word = textFile[i];
words[j].Times = index++;
}
}
index = 0;
}
任何帮助将不胜感激。
【问题讨论】:
-
出现次数是否超出预期?而textfile的find成员函数在你的程序中有什么作用???
-
@bhuwansahni 是的,我得到的是正确的。 find 是一个向量函数,用于查找匹配的字符串。
-
那么 find 失败和成功的回报是什么??
-
@bhuwansahni 如果成功,它会添加单词和它发生的次数,如果失败,它什么也不做。
-
你会在这里发布你的查找功能的代码吗??