武汉大学遥感信息工程学院复试机试_第1页
武汉大学遥感信息工程学院复试机试_第2页
武汉大学遥感信息工程学院复试机试_第3页
武汉大学遥感信息工程学院复试机试_第4页
武汉大学遥感信息工程学院复试机试_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.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(!

2、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

3、is:"<<m_vecInt0<<endl;outfile<<"the max number is:"<<m_vecIntsum - 1<<endl;int mid = (sum-1)/2;outfile<<"the middle number is:"<<m_vecIntmid<<endl;outfile.close();infile.close();return 0;2005:#include<iostream>#include<

4、;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

5、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_bac

6、k(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<<vecIntij<<" "outfile<<

7、9;n'outfile<<'n'vecInt = ConvolutionFun2(vec_int, R, S);outfile<<"第二次卷积后的矩阵:n"for(i=0; i<R; i+)for(j=0; j<S; j+)outfile<<vecIntij<<" "outfile<<'n'outfile<<'n'outfile.close();infile.close();return 0;/卷积函数1VecInt

8、 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+)vecIntij = vecnum;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+)vecIntij = vecInti-1

9、j-1 * a0 + vecInti-1j * a1 + vecInti-1j+1* a2 + vecIntij-1 * a3 + vecIntij * a4 + vecIntij+1 * a5 + vecInti+1j-1 * a6 + vecInti+1j * a7 + vecInti+1j+1 * a8;return vecInt;/卷积函数VecInt ConvolutionFun2(const vector<int>&vec, const int&r, const int&s)VecInt vecInt(r, vector<int>(s

10、); int num =0;for(int i=0; i<r; i+)for(int j=0; j<s; j+)vecIntij = vecnum;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+)vecIntij = vecInti-2j-2 * b0 + vecInti-2j-1 * b1 + vecInti-2j * b2 + vecInti-2j+1* b3+ vecInti-2j+

11、2 * b4 + vecInti-1j-2 * b5 + vecInti-1j-1 * b6 + vecInti-1j * b7 + vecInti-1j+1* b8+ vecInti-1j+2 * b9 + vecIntij-2 * b10 + vecIntij-1 * b11 + vecIntij * b12 + vecIntij+1* b13+ vecIntij+2 * b14 + vecInti+1j-2 * b15 + vecInti+1j-1 * b16 + vecInti+1j * b17 + vecInti+1j+1* b18+ vecInti+1j+2 * b19 + vec

12、Inti+2j-2 * b20 + vecInti+2j-1 * b21 + vecInti+2j * b22 + vecInti+2j+1* b23+ vecInti+2j+2 * b24 ; return vecInt;20061#include<iostream>/ifstream ofstream头文件#include<fstream>/sqrt,log,cos所需头文件#include<cmath>#include<time.h>#include<vector>/accumulate所需头文件#include<nume

13、ric>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 faile

14、d.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_doubl

15、e.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_d

16、ouble);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;vect

17、or<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_distri

18、on);/定义输出路对象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'doub

19、le 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_normalDist

20、ibution = sum_squre_NorDistibution/N - (average_normalDistibution * average_normalDistibution);outfile2<<"均值为:n"<<average_normalDistibution<<'n'outfile2<<"方差为:n"<<variance_normalDistibution<<'n'outfile2.close();infile.close();re

21、turn 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(con

22、st 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("resu

23、lt.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_doubleij;vector<double>vec_a

24、verage_double(nBand);for(i=0; i<nBand;i+)vec_average_doublei = AverageVector(vec_doublei);outfile<<"均值向量为:n"copy(vec_average_double.begin(), vec_average_double.end(), ostream_iterator<double>(outfile, " ");outfile<<'n'VecDouble vec_covariation_double(

25、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_doubleij<<" "outfile<<'n'ret

26、urn 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> > & vecDoub

27、le, 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 += (vecDoubleik - vecAverageDoublei)*(vecDoublejk

28、 - vecAverageDoublej);vec_coveration_doubleij = 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

29、");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

30、_double0.x;yMin = vec_double0.y;xMax = vec_double0.x;yMax = vec_double0.y;for(i=1; i<num; i+)if(vec_doublei.x<xMin)xMin = vec_doublei.x;if(vec_doublei.y<yMin)yMin = vec_doublei.y;if(vec_doublei.x>xMax)xMax = vec_doublei.x;if(vec_doublei.y>yMax)yMax = vec_doublei.y;ofstream outfile(&qu

31、ot;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<<&quo

32、t;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;dou

33、ble 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_pointi.x>xMin && vec_pointi.x<xMax && vec_pointi.y>yMin && vec_pointi.y<yM

34、ax)outfile<<"坐标点"<<vec_pointi.point_num<<"落在矩形外包内部,坐标为:n"outfile<<vec_pointi.x<<"t"<<vec_pointi.y<<'n'return 0;20071:#include<iostream>#include<fstream>#include<vector>using namespace std;struct POINT/标

35、记点号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;P

36、OINT point;point.x = x;point.y = y;vec_double.push_back(point);i+;double xMin,yMin,xMax,yMax;xMin = vec_double0.x;yMin = vec_double0.y;xMax = vec_double0.x;yMax = vec_double0.y;for(i=1; i<num; i+)if(vec_doublei.x<xMin)xMin = vec_doublei.x;if(vec_doublei.y<yMin)yMin = vec_doublei.y;if(vec_do

37、ublei.x>xMax)xMax = vec_doublei.x;if(vec_doublei.y>yMax)yMax = vec_doublei.y;ofstream outfile("result.txt");if(!outfile)cerr<<"result.txt open failed.n"return 1;outfile<<"外包矩形的坐标为:n"outfile<<xMin<<"t"<<yMin<<'n'

38、;outfile<<xMin<<"t"<<yMax<<'n'outfile<<xMax<<"t"<<yMin<<'n'outfile<<xMax<<"t"<<yMax<<'n'ifstream inpointfile("point.txt");if(!inpointfile)cerr<<"point.tx

39、t 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_pointi.

40、x>xMin && vec_pointi.x<xMax && vec_pointi.y>yMin && vec_pointi.y<yMax)outfile<<"坐标点"<<vec_pointi.point_num<<"落在矩形外包内部,坐标为:n"outfile<<vec_pointi.x<<"t"<<vec_pointi.y<<'n'return 0;20072:

41、#include <iostream>#include <fstream>#include<vector>using namespace std;typedef vector<vector<int> >VecInt;const int R = 256;const int L = 256;struct Tableint x;double y;Table() x = 0;y = 0.0;int main()int i, j;double a,b;ifstream infile("r.raw", ios:in|ios:b

42、inary);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+)greyi = new intL;*/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_intij = num;int m

43、in, max;min = vec_int00;max = vec_int00;for(i=0; i<R; i+)for(j=0; j<L; j+)if(vec_intij<min)min = vec_intij;if(vec_intij>max)max = vec_intij;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

44、= 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_intij=vecTablek.x)unsigned char c;c = vecTablek.y;outfile.write(char*

45、)&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(&q

46、uot;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

47、<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_doublei-average)*(

48、vec_doublei-average);double variance = sum_square/total;outfile<<"the max score is:"<<vec_doubletotal-1<<endl;outfile<<"the min score is:"<<vec_double0<<endl;outfile<<"the average score is: "<<average<<endl;outfile&l

49、t;<"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(&qu

50、ot;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(!i

51、nfile.eof()char ch(0);infile>>ch;s.push_back(ch);transform(s.begin(), s.end(), s.begin(), toupper);int result26;int i = 0;for(char c='A'c<'Z'c+)if(s.find(c)!=s.npos)resulti = count(s.begin(),s.end(),c);elseresulti = 0;outfile<<c<<"t"outfile<<resul

52、ti<<'n'/copy(&resulti,&resulti+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 na

53、mespace std;struct POINTdouble 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");i

54、f(!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

55、 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;vecpointi.push_back(point);if(j!=0 && vecpointij.x=vecpointi0.x && vecpointij.y=vecpointi0.y)break;infile>>c2;vector<double&g

56、t;vec_area;vector<double>vec_grith;for(i=0; i<num; i+)double area = polygonarea(vecpointi);vec_area.push_back(area);double grith = polygongirth(vecpointi);vec_grith.push_back(grith);double minArea = vec_area0;int minAreaID;double maxArea = vec_area0;int maxAreaID;double minGrith = vec_grith

57、0;int minGrithID;double maxGrith = vec_grith0;int maxGrithID;for(i =0; i<num; i+)if(vec_areai<minArea)minArea = vec_areai;minAreaID = i;if(vec_areai>maxArea)maxArea = vec_areai;maxAreaID = i;if(vec_grithi<minGrith)minGrith = vec_grithi;minGrithID = i;if(vec_grithi>maxGrith)maxGrith = vec_grithi;maxGrithID = i;outfile<<"第"<<maxAreaID<<"多变形面积最大"<<fixed<<maxArea<<'n'outfile<<"第"<<minAreaID<<"多变形面积最小"<<fixed<<minArea<<'n'outfil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论