• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
石莉静
博客园    首页    新随笔    联系   管理    订阅  订阅
结对编程——词频统计

题目:基于作业3的结果,读取一个较小的文本文件A_Tale_of_Two_Cities.txt,统计该文件中的单词的频率,并将统计结果输出到当前目录下的 Result1.txt 文件。 (第一阶段初稿完成该要求)

结对伙伴:陈晖,博客地址:http://www.cnblogs.com/cchenhui

              Github:https://github.com/cchenhui/-4

贡献比例:1:1

 

源程序:

 1 #include <iostream>
 2 #include <vector>
 3 #include <algorithm> 
 4 #include <string>
 5 #include <fstream>
 6 using namespace std;
 7 
 8 struct WORD
 9 {
10     string word;
11     int num;
12 };
13 
14 vector<WORD> a;  //创建vector对象,a[]
15 
16 int&value(const string&s)
17 {
18     for(int i=0;i<a.size();i++)
19         if(s==a[i].word)
20             return a[i].num;
21         WORD p;
22         p.word=s;
23         p.num=0;
24         a.push_back(p);  //在数组a最后添加数据
25         return a[a.size()-1].num;
26 }
27 
28 int main()
29 {
30     string str;
31     cout << "输入字符串:\n";
32     char c;
33     while(c=cin.get())
34     {
35         if((c>='a' && c<='z') || (c>='A' && c<='Z') || c==' ' || c=='\n')  
36             str+=c;   //去除符号
37         if(c=='\n')
38             break;
39     }
40 //输出去掉非英文字符的字符串
41         
42     for(int j=0;str[j]!='\0';j++)
43     {
44         if(str[j]>='A'&&str[j]<='Z')
45         {
46             str[j]+= 32;  //大写字母Ascll码+32转换为小写
47         }
48     }
49  //输出转换为小写的字符串
50 
51     string buf;
52     ofstream fout("D:\\123.txt");  //把转换好的字符串写入文件
53     fout<<str;
54     fout.close ();
55     ifstream fin("D:\\123.txt");  //读出写入的字符串并排序
56     while(fin>>buf){
57         value(buf)++;
58     }
59     vector<WORD>::const_iterator p;  //迭代器访问元素
60     ofstream output("D:\\Result1.txt");  //定义输出文件名
61     for(p=a.begin();p!=a.end();++p)
62         output<<p->word<<":"<<p->num<<'\n';  //将结果输出保存到Result1.txt中
63     return 0;
64 }

运行结果:

总结:

这次结对编程让我收获非常的多,也让我体会到了结对编程的便利性、有效性;

比如说我们遇到不会的地方,可以相互的讨论,取长补短;

比如有一方出错的时候,另一方也可以及时的纠正;

而且我发现,这样的做好处不止体现在作业中,生活中也同样如此。

两个人配合的做事能够非常有效的提高效率。

通过这次的合作让我更能跟伙伴友好的相处,这是难能可贵的。

posted on 2016-03-22 22:10  石莉静  阅读(230)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3