日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

结对项目 - 词频统计

發布時間:2023/12/31 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结对项目 - 词频统计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目的與要求

?


  • 代碼復審練習
  • 結對練習
  • 編寫單元測試
  • 基于作業3的結果,讀取一個較小的文本文件A_Tale_of_Two_Cities.txt,統計該文件中的單詞的頻率,并將統計結果輸出到當前目錄下的 Result1.txt 文件。 (第一階段初稿完成該要求)
  • 命令行格式: 提示符> Myapp.exe -f filename.txt > Result.txt (PS:C++ 程序,Java 程序輸出方式類似) filename.txt 為前面下載的文件名。
  • 解釋:
    • 選項 -f 表示后面跟文件名
    • 輸出格式規定(參考作業3中的示例):
      • 首先按照頻率由高到低排序
      • 頻率一樣的詞, 按照字典順序排序
  • 此外, 讀取一個較大的文本文件Gone_with_the_wind.txt實驗對比程序執行效率,做如下改進,比較改進前后程序執行時間。

?

?

?

?

詳細內容


?

?

  • 開發語言:C++    
  • 開發工具:Codeblocks
  • 結對伙伴:陳俊宇http://www.cnblogs.com/junyujun/
  • 準備工作:
  • 思路:
  • 基于上一個 個人項目 - 詞頻統計 的程序和結果,將本次所需的文件放在指定的地址上,統計該文件中的單詞的頻率,并使用文件流的寫入將結果寫入文件。

    2. 分工:

    我負責主要大框架的編寫,我的小伙伴負責在這個框架里細化邏輯與語法語句的關系。

    • 源代碼
    #include<iostream> #include<fstream> #include<cstring> #include<cctype> using namespace std;void screen(int chioce) //對內容進行篩選 {char input[50][50],newinput[50][50],newopen[100];char *open;if(chioce==1) //以輸入方式對字符串進行存儲與篩選 {cout<<"請輸入一串字符串,以回車鍵作為結束:";for(int m=0;input[m]!='\0';m++) //將字符串以二維字符數組的形式儲存起來 {for(int n=0;input[n]!='\0';n++){cin>>input[m][n];}}for(int m=0;input[m]!='\0';m++)//將輸入的字符串的大寫轉換為小寫 {for(int n=0;input[m][n]!='\0';n++){if(input[m][n]>='A'&&input[m][n]<='Z'&&strlen(input)>=4) //限制字符串大小為4 {int i=0,j=0;newinput[i][j]=toupper(input);}}}sta(newinput,m*n);}else //以錄入方式對字符串進行存儲與篩選 {int i=0,n;ifstream open("D:\\A_Tale_of_Two_Cities.txt");open=new int[n];while(open>>open[i],strlen(open)>=4) //字符串大于4的才給予儲存的機會 {newopen[i]=toupper(open); //大寫轉換成小寫i++;}sta(newopen,i);} }void sta(char word[],int wordnum[]) //統計單詞出現的次數 {char newword[],newwordnum[];cout<<"統計的單詞出現的次數如下:\n";for(int i=0;;i++){for(int j=0;if(strcmp(newword[i],word[j]));j++){newwordnum[i]++;}cout<<newword[i]<<'\t'<<newwordnum[i]<<endl;}}void SortWordDown(char word,int size ) //以單詞出現頻率降序排列單詞 {for (int i=0;i<size;i++){for(int j=0; j<size-1;j++){if (words[j]<words[j+1]){exchange(words[j],words[j+1]);}}} }int main( ) {int chioce;cout<<"請問是輸入一串字符串還是導入一個文本文件?(1:字符串,2;文本文件):";cin>>chioce;if(chioce==1||chioce==2) //用戶選擇 {screen(chioce);}ofstream outfile; //用文件流寫入文件結果outfile.open( "Result1.txt" )return 0; }
    • 運行結果

        

    • 小結

    第一次嘗試與其他人一起結對編程,對于一個人的編程,兩個人更明顯的可以互相交流和彌補雙方的缺點和弱勢。

    對于在原來程序上完善和原數據上的變動更得心應手了。

    • 源代碼Github地址

    https://github.com/Jennyhyt/My-source-code/blob/master/TeamWork-WFS.cpp

    ?

    轉載于:https://www.cnblogs.com/hyating/p/5309127.html

    總結

    以上是生活随笔為你收集整理的结对项目 - 词频统计的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。