【必做1】结对编程—词频统计

一、结对编程

      *结对对象:1413042065冯越

     *博客地址:http://www.cnblogs.com/fengyue1206/

     *Github链接:https://github.com/superyy/YY1/blob/master/4main.cpp

     *贡献比例:各50%

     *结对照片: 

                    

 

二、目标

      *代码复审练习,结对练习,编写单元测试

     *开发工具:CodeBlocks

     *开发语言:C++

三、要求 

     基于作业3的结果,读取一个较小的文本文件A_Tale_of_Two_Cities.txt,统计该文件中的单词的频率,并将统计结果输出到当前目录下的 Result1.txt 文件。

     此外, 读取一个较大的文本文件Gone_with_the_wind.txt实验对比程序执行效率,做如下改进,比较改进前后程序执行时间。

四、部分源码及运行结果

     在冯越作业3的代码基础上,新增了冒泡排序算法和文件流的输出:

void BubbSort(Word*word,int size)
{
    float t;
    for(int i=1;i<size;i++)
        for(int j=0;j<size-j;j++)
            if(word[j].size>word[j+1].size)
            {
                t=word[j].size;
                word[j].size=word[j+1].size;
                word[j+1].size=t;
            }
}

 

ofstream out("D:\\result.txt");
        out<<result[i];
        out.close();

运行结果:                                                      

              

五、困难与解决

      一开始本来使用的是选择排序,成功率为0,后来又选择了冒泡排序,并参考了C++书。

六、总结与收获

      这是第一次尝试结对编程,感觉还蛮不错的。“寸有所短,尺有所长”,两个人的组合果然大大的降低了错误的发生率,提高了效率。注重细节的,能减少低级错误的发生;看中整体的,能从大方向上把握。尽管是对前面作业的复审与再编,但是通过这次作业也改正了个人编程时的一些不良习惯,汲取了小伙伴身上的优点,互惠互利吧。尽管在编程时我们会各执己见,但这也算是另一种收获吧。

      同时,我也体验到了代码复审的好处。它能让我调整前面的错误,优化完善程序,提高程序的性能。虽说是一次小小的练习,但我想我会把复审应用在以后的编程中的,毕竟经常复审复审也许能提高自我的能力呢!

     

 

   

    

    

posted @ 2016-03-22 23:15  姜金金  阅读(253)  评论(3编辑  收藏  举报