课程设计报统计英文单词数.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计报统计英文单词数

“程序设计基础”课程设计报告(一) 需求和规格说明该系统的功能是给定一个英文段落(单词个数100),利用哈希表(表长最大为20)统计单词出现的频度,并能根据要求显示出给定单词在段落中出现的位置。执行程序时由用户在键盘上输入程序中规定的运算命令;相应的输入数据和运算结果显示在其后。 该系统的实现是通过哈希函数的建立和查找分析,用线性探测再散列来处理冲突,从而得到哈希表并实现哈希表的查找。该文章对哈希函数的应用方法是使用除留余数法构造,使用链地址法进行冲突处理。2.1技术可行性 哈希查找是通过计算数据元素的存储地址进行查找的一种方法。 哈希查找的操作步骤:用给定的哈希函数构造哈希表;根据选择的冲突处理方法解决地址冲突;在哈希表的基础上执行哈希查找。2.2需求可行性 世界上的事物都是有发展的,企图跨越阶段或者停滞,一切生命就都没有存在的理由了。频率就是一个既动态又静态的东西,我们能肯定的是很多古词和今词是不一样的,今日被淘汰了,也就是说,今天的频率的统计是一定有确定的结论的。也有一些古词仍在今日用着,或者在淘汰之中,所以频率难以确定。我们知道黑天和白天是有区别的,但它们的交界点,却不是那么容易分辨了,恐怕需要经过科学家的精密研究。交界点不容易确定,并不意味着事物之间没有区别。世界上的事物都是有区别又有联系的。有些人读书读傻了,钻了牛角尖,他弄不清两个事物之间的区别应该划在哪里,后来就连两个事物之间有区别也不敢认定了。频率的统计是为了区别常用词和非常用词,方法可能不准确,但不至于否定常用词和非常用词之间的区别吧。我们应该使统计精密起来。火车今天不用火了,但如果当初也不用,就没有今天的“火车”了。事物的变化是不可能停止的,但总还有个静态的定位,否则人们就无法认识任何事物了。频率虽然是个复杂的问题,但科学的研究是必要的。3 需求分析 给定一个英文段落(单词个数100),利用哈希表(表长最大为20)统计单词出现的频度,并能根据要求显示出给定单词在段落中出现的位置。 执行程序时由用户在键盘上输入程序中规定的运算命令;相应的输入数据和运算结果显示在其后。 测试数据:给定一个英文段落显示出不同英文单词的出现频度。给定一个英文单词,判断段落中是否含有该单词,如有,依次显示出该单词在段落中出现的位置。基本要求:哈希函数使用除留余数法构造,使用链地址法进行冲突处理。(二) 设计构造哈希函数void initial() //哈希表的初始化{ for(inti(0); i100; i++) { haxilist[i].head=NULL; haxilist[i].tail= NULL; } cout哈希表初始化完成,准备读入文件,请将需要操作的文件命名为file.txt放到文件夹中endl;}读取数据:void input() //读入文件{ cout开始读入文件...endl; fstreaminfile;infile.open(file.txt,ios::in); if(!infile) {coutFile cant be openendl; //读入失败abort(); } //coutthe input is called endl; char c[size]; while(!infile.eof()) { char h; infile.get(h); couthendl; while( !(A=h h=Z||a=h h=z)) //只读英语单词{ if(infile.eof()) return; infile.get(h); //couthendl; } inti; i=0; while(A=h h=Z||a=h h=z ) { if(ha) { h=h-A+a; //将大写字母转化为小写 } c[i++]=h; infile.get(h); } c[i]=\0; coutendl; char*s ; s=new char[i]; strncpy(s,c,i); couts; coutendl;insert(s,i); } infile.close(); //结束读入}产生哈希表: void insert( char* w,int length) //哈希表的操作:搜索和插入{ int k; k=0; for(inti(0);ilength w[i]!=\0;i++) { k+=w[i]; } coutinsert is calledendl; k=k%100; coutk ; //完

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档