针对一个文件 统计其中的单词和字符数 找出文件中出现次数最多的单词数 将文件中出现的单词按频率进行排序并输出
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;
}
#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()——对一个文件进行统计其中各个单词出现的次数,并按次数从高到低的顺序进行排序
- 统计一个大小为30kb~300kb的文本中各单词出现的频率,并输出前十个单词和进行程序性能分析
- 从文件读取包含数字和字母字符串,统计每个字符出现的次数,将次数输出到另外一个文件
- Linux作业(三)-shell统计某文章中出现频率最高的N个单词并排序输出出现次数
- 实现一个控制台程序,给定一段英文字符串,统计其中各个英文单词(4字符以上含4字符)的出现频率。
- 一个文件有N个单词,每行一个,其中一个单词出现的次数大于N/2,怎么样才能快速找出这个单词?
- 1、 编写一个Java应用程序,对用户输入的任意一组字符如{1,3,4,7,2,1,1,5,2},输出其中出现次数最多且数值最大的字符,并显示其出现次数。
- 编写一个程序,对用户输入的任意一组数字字符如{3,1,4,7,2,1,1,2,2},输出其中出现次数最多的字符,并显示其出现次数。如果有多个字符出现次数均为最大且相等,则输出最先出现的那个字符和它出现
- 编写一个小程序,从标准输入读入一系列string对象,寻找连续重复出现的单词。程序应该找出满足一下条件的单词:该单词的后面紧接着再次出现自己本身。跟踪重复次数最多的单词及其重复次数,输出.
- 【代码】统计文件中,不同字符出现的次数(可排序,没有处理英文单词、数字和大小写)
- 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
- 编写一个小程序,从标准输入读入一系列string对象,寻找连续重复出现的单词。程序应该找出满足一下条件的单词:该单词的后面紧接着再次出现自己本身。跟踪重复次数最多的单词及其重复次数,输出.
- java实现读取一篇英文文章,统计其中每个单词出现的次数并排序输出
- 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出例如: a: 21 次 b: 15 次 c:: 15 次 把: 7 次 当: 9 次 前: 3 次
- 编写函数,对标准输入进行扫描,并对“the”出现的次数进行计数。 进行比较时应区分大小写。认为一个单词有一个或多个空格字符分隔, 并且输入行在长度上不会超过100个字符,计数结果输出。
- Linux作业(三)-shell统计某文章中出现频率最高的N个单词并排序输出出现次数
- 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出
- 统计一篇英文文件中,单词出现的次数,并按单词的长度进行排序
- 一个一维整形数组,若干个数字,统计数组中不同的数字出现的次数,并按照出现频率从小到大排序输出,相同频率按数字大小排序输出
- 找出一个文件中出现次数最多的10个单词