武汉大学遥感信息工程学院复试机试.docx
- 文档编号:29770967
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:40
- 大小:21.35KB
武汉大学遥感信息工程学院复试机试.docx
《武汉大学遥感信息工程学院复试机试.docx》由会员分享,可在线阅读,更多相关《武汉大学遥感信息工程学院复试机试.docx(40页珍藏版)》请在冰豆网上搜索。
武汉大学遥感信息工程学院复试机试
2004:
#include
#include
#include
//sort所需头文件
#include
usingnamespacestd;
intmain()
{
ifstreaminfile("test.txt");
ofstreamoutfile("result.txt");
if(!
infile)
{
cout<<"text.txtopenfailed"< return1; } if(! outfile) { cout<<"result.txtopenfailed"< } vector //读出数的个数 intsum=0; infile>>sum; inti=0; while(i { intnumber=0; infile>>number; m_vecInt.push_back(number); i++; } //排序算法 sort(m_vecInt.begin(),m_vecInt.end()); outfile<<"theminnumberis: "< outfile<<"themaxnumberis: "< intmid=(sum-1)/2; outfile<<"themiddlenumberis: "< outfile.close(); infile.close(); return0; } 2005: #include #include #include usingnamespacestd; typedefvector VecIntConvolutionFun1(constvector VecIntConvolutionFun2(constvector intmain() { constintM=125; constintN=80; constintR=100; constintS=100; VecIntvecInt; inti,j; ifstreaminfile("SourceData.txt"); if(! infile) { cout<<"SourceData.txtopenfailed.\n"; return1; } vector intnumeric(0); for(i=0;i<10000;i++) { infile>>numeric; vec_int.push_back(numeric); } ofstreamoutfile("result.txt"); if(! outfile) { cout<<"result.txtopenfailed.\n"; return1; } outfile<<"卷积一次后的矩阵: \n"; vecInt=ConvolutionFun1(vec_int,M,N); for(i=0;i { for(j=0;j { outfile< } outfile<<'\n'; } outfile<<'\n'; vecInt=ConvolutionFun2(vec_int,R,S); outfile<<"第二次卷积后的矩阵: \n"; for(i=0;i { for(j=0;j { outfile< } outfile<<'\n'; } outfile<<'\n'; outfile.close(); infile.close(); return0; } //卷积函数1 VecIntConvolutionFun1(constvector { VecIntvecInt(m,vector intnum=0; for(inti=0;i { for(intj=0;j { vecInt[i][j]=vec[num]; num++; } } inta[]={0,-1,0,-1,5,-1,0,-1,0}; for(inti=1;i { for(intj=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]; } } returnvecInt; } //卷积函数 VecIntConvolutionFun2(constvector { VecIntvecInt(r,vector intnum=0; for(inti=0;i { for(intj=0;j { vecInt[i][j]=vec[num]; num++; } } intb[]={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(inti=2;i { for(intj=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]; } } returnvecInt; } 20061 #include //ifstreamofstream头文件 #include //sqrt,log,cos所需头文件 #include #include #include //accumulate所需头文件 #include usingnamespacestd; constintN=100; constdoublePI=3.1415926; intmain() { inti; //定义vector vector vector //定义输出流对象 ofstreamoutfile("SourceData.txt"); if(! outfile) { cerr<<"SourceData.txtopenfailed.\n"; return1; } //随机数产生的开始点 srand((unsigned)time(NULL)); //产生个随机数 for(i=0;i { doublenum=rand()*1.0/RAND_MAX; vec_double.push_back(num); vec_square_double.push_back(num*num); outfile< } outfile<<'\n'; doublesum_double=accumulate(vec_double.begin(),vec_double.end(),(double)0.0); doublesum_square_double=accumulate(vec_square_double.begin(),vec_square_double.end(),(double)0.0); doubleaverage_double=sum_double/N; outfile<<"均值为: \n"< doublevariance=(sum_square_double/N)-(average_double*average_double); outfile<<"方差为: \n"< outfile.close(); //定义输入流对象 ifstreaminfile("SourceData.txt"); if(! infile) { cerr<<"SourceData.txtopenfailed.\n"; return1; } //清空容器 vec_double.clear(); doublenum=0.0; vector vector for(i=0;i { infile>>num; vec_double.push_back(num); doublenum_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); } //定义输出路对象outfile2 ofstreamoutfile2("ResultData.txt"); if(! outfile) { cerr<<"ResultData.txtopenfailed.\n"; return1; } //输出正太分布数值 copy(vec_normalDistibution.begin(),vec_normalDistibution.end(),ostream_iterator outfile2<<'\n'; doublesum_normalDistibution=accumulate(vec_normalDistibution.begin(),vec_normalDistibution.end(),0.0); doubleaverage_normalDistibution=sum_normalDistibution/N; doublesum_squre_NorDistibution=accumulate(vec_squre_NorDistibution.begin(),vec_squre_NorDistibution.end(),0.0); doublevariance_normalDistibution=sum_squre_NorDistibution/N-(average_normalDistibution*average_normalDistibution); outfile2<<"均值为: \n"< outfile2<<"方差为: \n"< outfile2.close(); infile.close(); return0; } 20062: #include #include #include #include #include usingnamespacestd; typedefvector doubleAverageVector(constvector VecDoubleCovariationMatrix(constvector constvector intnBand,intnPiexl); intmain() { intnBand; intnPiexl; inti,j; ifstreaminfile("data.txt"); if(! infile) { cerr<<"data.txtopenfailed.\n"; return1; } ofstreamoutfile("result.txt"); if(! outfile) { cerr<<"result.txtopenfailed.\n"; return1; } infile>>nBand>>nPiexl; vector for(i=0;i { for(j=0;j { infile>>vec_double[i][j]; } } vector for(i=0;i { vec_average_double[i]=AverageVector(vec_double[i]); } outfile<<"均值向量为: \n"; copy(vec_average_double.begin(),vec_average_double.end(),ostream_iterator outfile<<'\n'; VecDoublevec_covariation_double(nBand,vector vec_covariation_double=CovariationMatrix(vec_double,vec_average_double,nBand,nPiexl); outfile<<"协方差矩阵: \n"; for(i=0;i { for(j=0;j { outfile< } outfile<<'\n'; } return0; } //均值向量函数 doubleAverageVector(constvector { intsize=vecDouble.size(); doublesum=accumulate(vecDouble.begin(),vecDouble.end(),0); doubleaverage=sum/size; returnaverage; } //协方差矩阵函数 VecDoubleCovariationMatrix(constvector constvector intnBand,intnPiexl) { VecDoublevec_coveration_double(nBand,vector for(inti=0;i { for(intj=0;j { doublesum=0.0; for(intk=0;k { sum+=(vecDouble[i][k]-vecAverageDouble[i])*(vecDouble[j][k]-vecAverageDouble[j]); } vec_coveration_double[i][j]=sum/nPiexl; } } returnvec_coveration_double; } 20071: #include #include #include usingnamespacestd; structPOINT { //标记点号 intpoint_num; //点的坐标 doublex; doubley; POINT() { x=0.0; y=0.0; } }; intmain() { ifstreaminfile("test.dat"); if(! infile) { cerr<<"test.datopenfailed.\n"; return1; } intnum; infile>>num; vector inti=0; while(i { doublex; doubley; infile>>x>>y; POINTpoint; point.x=x; point.y=y; vec_double.push_back(point); i++; } doublexMin,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 { if(vec_double[i].x { xMin=vec_double[i].x; } if(vec_double[i].y { 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; } } ofstreamoutfile("result.txt"); if(! outfile) { cerr<<"result.txtopenfailed.\n"; return1; } outfile<<"外包矩形的坐标为: \n"; outfile< outfile< outfile< outfile< ifstreaminpointfile("point.txt"); if(! inpointfile) { cerr<<"point.txtopenfailed.\n"; return1; } vector while(! inpointfile.eof()) { intnum; doublex; doubley; inpointfile>>num>>x>>y; POINTpoint; point.poin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉大学 遥感 信息工程学院 复试