程序
在程序同一级目录下创建input.txt文件即可
数据格式如下:
第一个数表示数字个数,后面的输入具体的数。
#include<bits/stdc++.h>
using namespace std;
#define N 100
//int a[1000][2];
int arr[10000];
void baoli(std::map<int,int> m,std::map<int,int>::iterator it,FILE *outF);
//void erfen(int []arr,int begin,int end);
int main(){
std::map<int,int> m;
std::map<int,int>::iterator item,it,it1;
FILE *inF,*outF,*suchF;
inF = fopen("input.txt","r");
// suchF = fopen("input.txt","w+");
outF = fopen("output.txt","w+");
// int t = N;
// fprintf(suchF,"%d\n",N);
// for(int j=0;j<t;j++){
// fprintf(suchF,"%d\n",rand()%N);
// }
// fclose(suchF);
int x = 0;
// printf("随机生成成功");
int begin;
int t=0;
while(!feof(inF)){
int temp;
fscanf(inF,"%d",&temp);
item = m.find(temp);
if(x==0){
x++;
begin = temp;
}else{
if(item==m.end()){
m[temp]=1;
}else{
m[temp]++;
}
arr[t] = temp;
t++;
}
}
// int i=0;
// for(it1 = m.begin();it1!=m.end();it1++,i++){
// a[i][0] = it1->first;
// a[i][1] = it1->second;
// cout<<a[i][0]<<" "<<endl;
// }
baoli(m,it,outF);
fclose(inF);
fclose(outF);
}
//int* erfen(int []arr,int begin,int end,int[][]max){
// int mid = (begin+end)/2;
//
//}
void baoli(std::map<int,int> m,std::map<int,int>::iterator it,FILE* outF){
int moreN,moreN_num;
for(it = m.begin();it!=m.end();it++){
if(it == m.begin()){
moreN = it->first;
moreN_num = it->second;
}
else{
if(moreN_num<it->second){
moreN = it->first;
moreN_num = it->second;
}
}
}
printf("%d %d",moreN,moreN_num);
fprintf(outF,"%d\n%d",moreN,moreN_num);
}