您的位置:首页 > 其它

针对一个文件 统计其中的单词和字符数 找出文件中出现次数最多的单词数 将文件中出现的单词按频率进行排序并输出

2013-05-09 13:16 966 查看
#include <iostream>

#include <map>

#include <vector>

#include <fstream>

#include <sstream>

#include <string>

#include<algorithm>

#include<functional>

using namespace std;

int cmp(const pair<string,int> & x, const pair<string,int>& y)

{

    return x.second > y.second;

}

int main()

{

  map<string,int>::iterator it;

 map<string,int> ma;

 ifstream in("in.txt");//   读入的文件。

 ofstream out("result.txt");

 string str;

 string st;

  while( in>>st )

  {

   it=ma.find(st);

   if( it!=ma.end() )

    ++(*it).second;

   else

    ma[st]=1;

  }

 vector< pair<string,int> > vec;

 for( it=ma.begin(); it!=ma.end(); ++it )

{

 vec.push_back(make_pair(it->first,it->second));

 cout<<it->first<<it->second<<endl;

}

 sort(vec.begin(),vec.end(),cmp);                                        //要用vector< pair<string,int> > 转一次

 cout<<"xiaojiba"<<endl;、

 vector<pair<string,int> > ::iterator ivec=vec.begin();

while(ivec!=vec.end())

 {

 cout<< ivec->first<<" "<<ivec->second<<endl;

 out<<ivec->first<<" "<<ivec->second<<endl;

 ivec++;

 }

  //cout<<(*it).first<<" "<<(*it).second<<endl;

  return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  map vector sort Iterator
相关文章推荐