注册 登录
编程论坛 C++教室

不同单词的数目 我自己做了的但是不对,寻求help

fejide 发布于 2007-11-25 11:21, 737 次点击
编写一个程序,用于统计文件中单词的总数,不同单词的数目。(假设输入文件中只包含字母和空格)

能否给我一点例子,但是不能用set()做,还有推荐一本好书吧,谢谢了

#include<iostream.h>   
#include<string.h>
void   main()     
{     
string b[]={"i","love","dalian ","i","love","dlut"};
for(int n=0;n<6;n++)
{
for(int m=1;m<6;m++)
{   int r;
    r=strcmp(b[n],b[m])
    if(r==0)
  char b[n]='*';
}
}
for(int i=0;i<6;i++)
{   char  s;
    int q=0;
 if(s!='*')
        q++;
cout<<"不相同的单词个数是"<<q<<endl;
}

}
3 回复
#2
mfkpgfsbihc2007-11-25 15:23
#include<iostream>   
#include<string.h>
using namespace std;
int main(){     
     int num=0;
     char b[][10]={"i","love","dalian ","i","love","dlut"};
     int length=sizeof(b)/sizeof(b[0]);
     for(int n=0;n<length;n++)      
         for(int m=n+1;m<length;m++)
             if(strcmp(b[n],b[m])==0)
                 num++;
        
         cout<<"不相同的单词个数是:"<<length-num<<endl;
         return 0;
}
#3
aipb20072007-11-25 18:04
楼上不对哦!
别人没说相同的只能有两个。
多于两个相同,你的统计就错误了!
#4
leeco2007-11-25 18:24
最快的方法应该是用Trie Tree吧,set已经算低效的了
1