第二次个人作业2

拓展功能

  近期考试扎堆,导致学习编程的时间实在有限,加上非科班编程的基础薄弱,实际想法是有,最大的问题核心其实还是代码敲得不够多。

  对于本次拓展,想到的一个功能是:英文相同,数字不同的视为相同单词。

  先做一个简单的分析,其实Wordcount的工作其实主要步骤是:

  文件输入——读取文件——提取单词——统计单词频率——对单词及词频进行排列——文件输出

  加上拓展功能后,则是在此过程中处理字母相同数字不同的两种情况。

  对于我来说,如何记录词频和处理两种不同的情况是难点。从同学的思路中,我学习了一种很好的办法来解决这些难点。

  创建两个map。一个储存单词与词频,另一个储存统一格式的单词和其对应的各种单词,取ascII最小的保留。

  这样操作的话,可以实现记录词频,又能够保证输出的词频符合要求,最后只要将两个map整理到一起排序输出便可。

  经过了和同学的讨论,得到了这段将数字结尾的单词提取出来并归类的代码,实现了扩展功能的添加。

  

string function_exended(string headword){
    if(headword.begin()==headword.end())
        return headword;
    while(1){
        if(isdigit(*(headword.end()-1))){
            headword.erase(headword.end()-1);
        }
        else
            break;
    }
        return headword;
}

  

posted @ 2019-01-17 13:28  Sqmmmmm  阅读(94)  评论(0)    收藏  举报