2004:#include<iostream>#include<fstream>#include<vector>//sort所需头文件#include<algorithm>using namespace std;int main(){ifstream infile("test.txt");ofstream outfile("result.txt");if(!infile){cout<<"text.txt open failed"<<endl;return 1;}if(!outfile){cout<<"result.txt open failed"<<endl;}vector<int>m_vecInt;//读出数的个数int sum = 0;infile>>sum;int i = 0;while(i<sum){int number = 0;infile>>number;m_vecInt.push_back(number);i++;}//排序算法sort(m_vecInt.begin(), m_vecInt.end());outfile<<"the min number is:"<<m_vecInt[0]<<endl;outfile<<"the max number is:"<<m_vecInt[sum - 1]<<endl;int mid = (sum-1)/2;outfile<<"the middle number is:"<<m_vecInt[mid]<<endl;outfile.close();infile.close();return 0;}2005:#include<iostream>#include<fstream>#include<vector>using namespace std;typedef vector<vector<int> >VecInt;VecInt ConvolutionFun1(const vector<int>&vec, const int & m, const int& n); VecInt ConvolutionFun2(const vector<int>&vec, const int&r, const int&s);int main(){const int M =125;const int N =80;const int R =100;const int S =100;VecInt vecInt;int i,j;ifstream infile("SourceData.txt");if(!infile){cout<<"SourceData.txt open failed.\n";return 1;}vector<int>vec_int;int numeric(0);for(i=0;i<10000;i++){infile>>numeric;vec_int.push_back(numeric);}ofstream outfile("result.txt");if(!outfile){cout<<"result.txt open failed.\n";return 1;}outfile<<"卷积一次后的矩阵:\n";vecInt = ConvolutionFun1(vec_int, M, N);for(i=0; i<M; i++){for(j=0; j<N; j++){outfile<<vecInt[i][j]<<" ";}outfile<<'\n';}outfile<<'\n';vecInt = ConvolutionFun2(vec_int, R, S);outfile<<"第二次卷积后的矩阵:\n";for(i=0; i<R; i++){for(j=0; j<S; j++){outfile<<vecInt[i][j]<<" ";}outfile<<'\n';}outfile<<'\n';outfile.close();infile.close();return 0;}//卷积函数1VecInt ConvolutionFun1(const vector<int>&vec, const int&m, const int&n){VecInt vecInt(m, vector<int>(n));int num =0;for(int i=0; i<m; i++){for(int j=0; j<n; j++){vecInt[i][j] = vec[num];num++;}}int a[]={0,-1,0,-1,5,-1,0,-1,0};for(int i=1;i<m-1;i++){for(int j=1;j<n-1;j++){vecInt[i][j] = vecInt[i-1][j-1] * a[0] + vecInt[i-1][j] * a[1] + vecInt[i-1][j+1]* a[2]+ vecInt[i][j-1] * a[3] + vecInt[i][j] * a[4] + vecInt[i][j+1] * a[5]+ vecInt[i+1][j-1] * a[6] + vecInt[i+1][j] * a[7] + vecInt[i+1][j+1] * a[8];}}return vecInt;}//卷积函数VecInt ConvolutionFun2(const vector<int>&vec, const int&r, const int&s){VecInt vecInt(r, vector<int>(s));int num =0;for(int i=0; i<r; i++){for(int j=0; j<s; j++){vecInt[i][j] = vec[num];num++;}}int b[]={0,0,-1,0,0,0,-1,-2,-1,0,-1,-2,16,-2,-1,0,-1,-2,-1,0,0,0,-1,0,0};for(int i=2;i<r-2;i++){for(int j=2;j<s-2;j++){vecInt[i][j] = vecInt[i-2][j-2] * b[0] + vecInt[i-2][j-1] * b[1] + vecInt[i-2][j] * b[2] + vecInt[i-2][j+1]* b[3]+ vecInt[i-2][j+2] * b[4]+ vecInt[i-1][j-2] * b[5] + vecInt[i-1][j-1] * b[6] + vecInt[i-1][j] * b[7] + vecInt[i-1][j+1]* b[8]+ vecInt[i-1][j+2] * b[9]+ vecInt[i][j-2] * b[10] + vecInt[i][j-1] * b[11] + vecInt[i][j] * b[12] + vecInt[i][j+1]* b[13]+ vecInt[i][j+2] * b[14]+ vecInt[i+1][j-2] * b[15] + vecInt[i+1][j-1] * b[16] + vecInt[i+1][j] * b[17] + vecInt[i+1][j+1]* b[18]+ vecInt[i+1][j+2] * b[19]+ vecInt[i+2][j-2] * b[20] + vecInt[i+2][j-1] * b[21] + vecInt[i+2][j] * b[22] + vecInt[i+2][j+1]* b[23]+ vecInt[i+2][j+2] * b[24] ;}}return vecInt;}20061#include<iostream>//ifstream ofstream头文件#include<fstream>//sqrt,log,cos所需头文件#include<cmath>#include<time.h>#include<vector>//accumulate所需头文件#include<numeric>using namespace std;const int N = 100;const double PI = 3.1415926;int main(){int i;//定义vector<double>对象,存储产生的随机数vector<double>vec_double;vector<double>vec_square_double;//定义输出流对象ofstream outfile("SourceData.txt");if(!outfile){cerr<<"SourceData.txt open failed.\n";return 1;}//随机数产生的开始点srand((unsigned)time(NULL));//产生个随机数for(i=0;i<N;i++){double num = rand()*1.0/RAND_MAX;vec_double.push_back(num);vec_square_double.push_back(num*num);outfile<<num<<" ";}outfile<<'\n';double sum_double = accumulate(vec_double.begin(), vec_double.end(), (double)0.0);double sum_square_double = accumulate(vec_square_double.begin(), vec_square_double.end(), (double)0.0);double average_double = sum_double/N;outfile<<"均值为:\n"<<average_double<<'\n';double variance = (sum_square_double/N)-(average_double*average_double);outfile<<"方差为:\n"<<variance<<'\n';outfile.close();//定义输入流对象ifstream infile("SourceData.txt");if(!infile){cerr<<"SourceData.txt open failed.\n";return 1;}//清空容器vec_double.clear();double num =0.0;vector<double>vec_normalDistibution;vector<double>vec_squre_NorDistibution;for(i=0;i<N;i++){infile>>num;vec_double.push_back(num);double num_normal_distrion = (sqrt((-2)*log(num))*cos(2*PI*num))*0.3 + 1;vec_normalDistibution.push_back(num_normal_distrion);vec_squre_NorDistibution.push_back(num_normal_distrion * num_normal_distrion);}//定义输出路对象outfile2ofstream outfile2("ResultData.txt");if(!outfile){cerr<<"ResultData.txt open failed.\n";return 1;}//输出正太分布数值copy(vec_normalDistibution.begin(), vec_normalDistibution.end(), ostream_iterator<double>(outfile2, " "));outfile2<<'\n';double sum_normalDistibution = accumulate(vec_normalDistibution.begin(),vec_normalDistibution.end(),0.0);double average_normalDistibution = sum_normalDistibution/N;double sum_squre_NorDistibution =accumulate(vec_squre_NorDistibution.begin(),vec_squre_NorDistibution.end(),0.0);double variance_normalDistibution = sum_squre_NorDistibution/N - (average_normalDistibution *average_normalDistibution);outfile2<<"均值为:\n"<<average_normalDistibution<<'\n';outfile2<<"方差为:\n"<<variance_normalDistibution<<'\n';outfile2.close();infile.close();return 0;}20062:#include<iostream>#include<fstream>#include<vector>#include<numeric>#include<algorithm>using namespace std;typedef vector<vector<double> > VecDouble;double AverageVector(const vector<double> & vecDouble);VecDouble CovariationMatrix(const vector<vector<double> > & vecDouble,const vector<double> & vecAverageDouble,int nBand, int nPiexl);int main(){int nBand;int nPiexl;int i,j;ifstream infile("data.txt");if(!infile){cerr<<"data.txt open failed.\n";return 1;}ofstream outfile("result.txt");if(!outfile){cerr<<"result.txt open failed.\n";return 1;}infile>>nBand>>nPiexl;vector<vector<double> >vec_double(nBand, vector<double>(nPiexl));for(i=0; i<nBand;i++){for(j =0; j<nPiexl; j++){infile>>vec_double[i][j];}}vector<double>vec_average_double(nBand);for(i=0; i<nBand;i++){vec_average_double[i] = AverageVector(vec_double[i]);}outfile<<"均值向量为:\n";copy(vec_average_double.begin(), vec_average_double.end(), ostream_iterator<double>(outfile, " ")); outfile<<'\n';VecDouble vec_covariation_double(nBand, vector<double>(nPiexl));vec_covariation_double = CovariationMatrix(vec_double, vec_average_double, nBand, nPiexl);outfile<<"协方差矩阵:\n";for( i =0; i<nBand; i++){for(j =0; j<nBand; j++){outfile<<vec_covariation_double[i][j]<<" ";}outfile<<'\n';}return 0;}//均值向量函数double AverageVector(const vector<double> & vecDouble){int size = vecDouble.size();double sum = accumulate(vecDouble.begin(), vecDouble.end(), 0);double average = sum/size;return average;}//协方差矩阵函数VecDouble CovariationMatrix(const vector<vector<double> > & vecDouble,const vector<double> & vecAverageDouble,int nBand, int nPiexl){VecDouble vec_coveration_double(nBand, vector<double>(nBand));for(int i =0; i<nBand; i++){for(int j =0; j<nBand; j++){double sum =0.0;for(int k=0; k<nPiexl; k++){sum += (vecDouble[i][k] - vecAverageDouble[i])*(vecDouble[j][k] - vecAverageDouble[j]);}vec_coveration_double[i][j] = sum/nPiexl;}}return vec_coveration_double;}20071:#include<iostream>#include<fstream>#include<vector>using namespace std;struct POINT{//标记点号int point_num;//点的坐标double x;double y;POINT(){x = 0.0;y = 0.0;}};int main(){ifstream infile("test.dat");if(!infile){cerr<<"test.dat open failed.\n";return 1;}int num;infile>>num;vector<POINT>vec_double;int i=0;while(i<num){double x;double y;infile>>x>>y;POINT point;point.x = x;point.y = y;vec_double.push_back(point);i++;}double xMin,yMin,xMax,yMax;xMin = vec_double[0].x;yMin = vec_double[0].y;xMax = vec_double[0].x;yMax = vec_double[0].y;for(i=1; i<num; i++){if(vec_double[i].x<xMin){xMin = vec_double[i].x;}if(vec_double[i].y<yMin){yMin = vec_double[i].y;}if(vec_double[i].x>xMax){xMax = vec_double[i].x;}if(vec_double[i].y>yMax){yMax = vec_double[i].y;}}ofstream outfile("result.txt");if(!outfile){cerr<<"result.txt open failed.\n";return 1;}outfile<<"外包矩形的坐标为:\n";outfile<<xMin<<"\t"<<yMin<<'\n';outfile<<xMin<<"\t"<<yMax<<'\n';outfile<<xMax<<"\t"<<yMin<<'\n';outfile<<xMax<<"\t"<<yMax<<'\n';ifstream inpointfile("point.txt");if(!inpointfile){cerr<<"point.txt open failed.\n";return 1;}vector<POINT>vec_point;while(!inpointfile.eof()){int num;double x;double y;inpointfile>>num>>x>>y;POINT point;point.point_num = num;point.x = x;point.y = y;vec_point.push_back(point);}int size = vec_point.size();for(i=0; i<size; i++){if(vec_point[i].x>xMin && vec_point[i].x<xMax && vec_point[i].y>yMin && vec_point[i].y<yMax) {outfile<<"坐标点"<<vec_point[i].point_num<<"落在矩形外包内部,坐标为:\n";outfile<<vec_point[i].x<<"\t"<<vec_point[i].y<<'\n';}}return 0;}20071:#include<iostream>#include<fstream>#include<vector>using namespace std;struct POINT{//标记点号int point_num;//点的坐标double x;double y;POINT(){x = 0.0;y = 0.0;}};int main(){ifstream infile("test.dat");if(!infile){cerr<<"test.dat open failed.\n";return 1;}int num;infile>>num;vector<POINT>vec_double;int i=0;while(i<num){double x;double y;infile>>x>>y;POINT point;point.x = x;point.y = y;vec_double.push_back(point);i++;}double xMin,yMin,xMax,yMax;xMin = vec_double[0].x;yMin = vec_double[0].y;xMax = vec_double[0].x;yMax = vec_double[0].y;for(i=1; i<num; i++){if(vec_double[i].x<xMin){xMin = vec_double[i].x;}if(vec_double[i].y<yMin){yMin = vec_double[i].y;}if(vec_double[i].x>xMax){xMax = vec_double[i].x;}if(vec_double[i].y>yMax){yMax = vec_double[i].y;}}ofstream outfile("result.txt");if(!outfile){cerr<<"result.txt open failed.\n";return 1;}outfile<<"外包矩形的坐标为:\n";outfile<<xMin<<"\t"<<yMin<<'\n';outfile<<xMin<<"\t"<<yMax<<'\n';outfile<<xMax<<"\t"<<yMin<<'\n';outfile<<xMax<<"\t"<<yMax<<'\n'; ifstream inpointfile("point.txt");if(!inpointfile){cerr<<"point.txt open failed.\n";return 1;}vector<POINT>vec_point;while(!inpointfile.eof()){int num;double x;double y;inpointfile>>num>>x>>y;POINT point;point.point_num = num;point.x = x;point.y = y;vec_point.push_back(point);}int size = vec_point.size();for(i=0; i<size; i++){if(vec_point[i].x>xMin && vec_point[i].x<xMax && vec_point[i].y>yMin && vec_point[i].y<yMax){outfile<<"坐标点"<<vec_point[i].point_num<<"落在矩形外包内部,坐标为:\n";outfile<<vec_point[i].x<<"\t"<<vec_point[i].y<<'\n';}}return 0;}20072:#include<iostream>#include<fstream>#include<vector>using namespace std;typedef vector<vector<int> >VecInt;const int R = 256;const int L = 256;struct Table{int x;double y;Table(){x = 0;y = 0.0;}};int main(){int i, j;double a,b;ifstream infile("r.raw", ios::in|ios::binary);if(!infile){cerr<<"r.raw open failed.\n";return 1;}//int **grey = new int*[R];VecInt vec_int(R, vector<int>(L));/*for(i=0;i<R;i++){grey[i] = new int[L];}*/for(i=0; i<R; i++){for(j=0; j<L; j++){unsigned char c;infile.read((char*)&c, sizeof(char));int num = c;vec_int[i][j] = num;}}int min, max;min = vec_int[0][0];max = vec_int[0][0];for(i=0; i<R; i++){for(j=0; j<L; j++){if(vec_int[i][j]<min){min = vec_int[i][j];}if(vec_int[i][j]>max){max = vec_int[i][j];}}}a = (double)(255)/(double)(max-min);b = -(min * a);vector<Table>vecTable;for(i=0; i<255; i++){double y = a * i + b;Table tab;tab.x = i;tab.y = y;vecTable.push_back(tab);}ofstream outfile("result.raw", ios::out|ios::binary);if(!outfile){cerr<<"result.raw open failed.\n";return 1;}for(i=0; i<R; i++){for(j=0; j<L; j++){for(int k=0; k<255; k++){if(vec_int[i][j]==vecTable[k].x){unsigned char c;c = vecTable[k].y;outfile.write((char*)&c, sizeof(char));outfile<<" ";}}outfile<<'\n';}}return 0;}2008:#include<iostream>#include<fstream>#include<vector>#include<algorithm>#include<numeric>using namespace std;int main(){ifstream infile("sourcefile.txt");ofstream outfile("result.txt");if(!infile){cout<<"sourcefile.txt open failed"<<endl;}if(!outfile){cout<<"result.txt open failed"<<endl;}int total = 0;infile>>total;vector<double>vec_double;vector<double>vec_square;double numeric = 0.0;int i =0;while(i<total){infile>>numeric;vec_double.push_back(numeric);vec_square.push_back(numeric*numeric);i++;}sort(vec_double.begin(),vec_double.end());double average = accumulate(vec_double.begin(),vec_double.end(),0.0)/total;double sum_square = 0.0;for(i=0;i<total;i++){sum_square+=(vec_double[i]-average)*(vec_double[i]-average);}double variance = sum_square/total;outfile<<"the max score is:"<<vec_double[total-1]<<endl;outfile<<"the min score is:"<<vec_double[0]<<endl;outfile<<"the average score is: "<<average<<endl;outfile<<"the variance is:"<<variance<<endl;outfile.close();infile.close();return 0;}2009:#include<iostream>#include<fstream>#include<string>#include<algorithm>using namespace std;int main(){string s;ifstream infile("test.txt");ofstream outfile("result.txt");if(!infile){cout<<"test.txt open failed"<<endl;return 1;}if(!outfile){cout<<"result.txt open failed"<<endl;return 1;}//copy(istream_iterator<char>(infile), istream_iterator<char>(), back_insert_iterator<string>(s));while(!infile.eof()){char ch(0);infile>>ch;s.push_back(ch);}transform(s.begin(), s.end(), s.begin(), toupper);int result[26];int i = 0;for(char c='A';c<'Z';c++){if(s.find(c)!=s.npos){result[i] = count(s.begin(),s.end(),c);}else{result[i] = 0;}outfile<<c<<"\t";outfile<<result[i]<<'\n';//copy(&result[i],&result[i+1],ostream_iterator<int>(outfile,"\n"));i++;}outfile.close();infile.close();return 0;}2011:#include<iostream>#include<fstream>#include<vector>#include<cmath>#include<algorithm>#include<numeric>using namespace std;struct POINT{double x;double y;POINT(){x = 0;y = 0;}};typedef vector<vector<POINT> > VecPoint;//计算面积函数double polygonarea(const vector<POINT> &vec_point);//计算周长函数double polygongirth(const vector<POINT> &vec_point);int main(){ifstream infile("Input.txt");if(!infile){cerr<<"Input.txt open failed.\n";return 1;}ofstream outfile("result.txt");if(!outfile){cerr<<"result.txt open failed.\n";return 1;}outfile.precision(3);int num;infile>>num;int i;int j;VecPoint vecpoint(num);double numeric1(0);double numeric2(0);char c1(0);char c2(0);for(i=0; i<num; i++){for(j=0;;j++){infile>>numeric1>>c1>>numeric2;POINT point;point.x = numeric1;point.y = numeric2;vecpoint[i].push_back(point);if(j!=0 && vecpoint[i][j].x==vecpoint[i][0].x && vecpoint[i][j].y==vecpoint[i][0].y){break;}infile>>c2;}}vector<double>vec_area;vector<double>vec_grith;for(i=0; i<num; i++){double area = polygonarea(vecpoint[i]);vec_area.push_back(area);double grith = polygongirth(vecpoint[i]);vec_grith.push_back(grith);}double minArea = vec_area[0];int minAreaID;double maxArea = vec_area[0];int maxAreaID;double minGrith = vec_grith[0];int minGrithID;double maxGrith = vec_grith[0];int maxGrithID;for(i =0; i<num; i++){if(vec_area[i]<minArea){minArea = vec_area[i];minAreaID = i;}if(vec_area[i]>maxArea){maxArea = vec_area[i];maxAreaID = i;}if(vec_grith[i]<minGrith){minGrith = vec_grith[i];minGrithID = i;}if(vec_grith[i]>maxGrith){maxGrith = vec_grith[i];maxGrithID = i;}}outfile<<"第"<<maxAreaID<<"多变形面积最大"<<fixed<<maxArea<<'\n'; outfile<<"第"<<minAreaID<<"多变形面积最小"<<fixed<<minArea<<'\n'; outfile<<"第"<<maxGrithID<<"多变形周长最长"<<fixed<<maxGrith<<'\n'; outfile<<"第"<<minGrithID<<"多变形周长最小"<<fixed<<minGrith<<'\n';double sumArea = accumulate(vec_area.begin(), vec_area.end(), 0.0); double averageArea = sumArea/num;double sumDeviation = 0.0;double staDeviation;for(i=0;i<num;i++){sumDeviation += (vec_area[i]-averageArea)*(vec_area[i]-averageArea);}double sumStadardDevitation = sqrt(sumDeviation/num);int a=0;int b=0;int c=0;int d=0;for(i=0;i<num;i++){if(vec_area[i]>(averageArea + sumStadardDevitation)){a++;}if((vec_area[i]<(averageArea + sumStadardDevitation))&&(vec_area[i]>averageArea)){b++;}if((vec_area[i]<averageArea)&&(vec_area[i]>(averageArea - sumStadardDevitation))){c++;}if(vec_area[i]<(averageArea - sumStadardDevitation)){d++;}}outfile<<"A类"<<a<<'\n';outfile<<"B类"<<b<<'\n';outfile<<"C类"<<c<<'\n';outfile<<"D类"<<d<<'\n';return 0;}//计算面积函数double polygonarea(const vector<POINT> &vec_point){double polygon_area = 0.0;int size = vec_point.size();for(int i =0; i<size-1; i++){polygon_area+= ((vec_point[i+1].y - vec_point[i].y)*(vec_point[i+1].x + vec_point[i].x)/2);}return polygon_area;}//计算周长函数double polygongirth(const vector<POINT> &vec_point){double polygon_grith = 0.0;int size = vec_point.size();for(int i =0; i<size-1; i++){double grith = (vec_point[i+1].y - vec_point[i].y)*(vec_point[i+1].y - vec_point[i].y) + (vec_point[i+1].x - vec_point[i].x)*(vec_point[i+1].x - vec_point[i].x);polygon_grith += sqrt((double)grith);}return polygon_grith;}20112#include<iostream>#include<fstream>#include<vector>#include<math.h>using namespace std;struct POINT{int x;int y;POINT(){x = 0;y = 0;}};int main(){const double distance = 4;int num;num =0;double dis = 0.0;ifstream infile("sample.txt");if(!infile){cout<<"sample.txt open failed"<<endl;return 1;}infile>>num;vector<vector<struct POINT> >PtrVector(num);vector<POINT>p(num);for(int i = 0; i<num; i++){infile>>p[i].x>>p[i].y;}infile.close();PtrVector[0].push_back(p[0]);//计数器int n = 1;for(int i = 0; i<num; i++){double*d = new double[i];for(int j = 0;j<n;j++){d[j] = sqrt((double)(p[i].x -PtrVector[j].at(0).x)*(p[i].x -PtrVector[j].at(0).x)+(p[i].y -PtrVector[j].at(0).y)*(p[i].y -PtrVector[j].at(0).y));}double Min = d[0];int m = 0;for(int j = 0;j<n;j++){if(Min>d[j]){Min = d[j];m=j;}}if(Min>distance){PtrVector[n].push_back(p[i]);n++;}else{PtrVector[m].push_back(p[i]);struct POINT point;for(int i =0; i<PtrVector[m].size();i++){point.x += PtrVector[m].at(i).x;point.y += PtrVector[m].at(i).y;}point.x = point.x/PtrVector[m].size();point.y = point.y/PtrVector[m].size();PtrVector[m][0].x = point.x;PtrVector[m][0].y = point.y;}}ofstream outfile("result.txt");if(!outfile){cout<<"result.txt open failed"<<endl;}for(int i = 0; i<n; i++){outfile<<'('<<PtrVector[i].at(0).x<<','<<PtrVector[i].at(0).y<<")的坐标为:"<<endl;for(int j = 1; PtrVector[i].size();j++){outfile<<PtrVector[i].at(j).x<<','<<PtrVector[i].at(j).y<<' ';}outfile<<endl;}outfile.close();return 0;}.。