Time:2020.01.16
PART One
目的:求矩阵中每行最小的和次之的两个数据的位置,考虑先找到目标数据,然后对其定位,并将最小值和次小值替换为1,其他的值置为0。
int main() {
nx=5;
ny=5;
//
int b=100,a=30;
vector<vector<double>> H(nx,vector<double>(ny));
vector<vector<double>> H1(nx,vector<double>(ny));
double array[ny];
for(int i=0;i<nx;i++){
for(int j=0;j<ny;j++){
H[i][j]=0.01+(rand()%(b-a+1)+a);
array[j]=H[i][j];
cout<<"H["<<i<<"]"<<"["<<j<<"]"<<H[i][j]<<endl;
}
double m1,m2;//存储两个最小值
m1=9999;
m2=9999;
for(int k=0;k<ny;k++){
if(array[k]<m1){
m2=m1;
m1=array[k];
}
else if(array[k]<m2){
m2=array[k];
}
}
for(int l=0;l<ny;l++){
if(array[l]==m1){
H1[i][l]=1;
}
else if(array[l]==m2){
H1[i][l]=1;
}
else {
H1[i][l]=0;
}
}
}
for(int m=0;m<nx;m++){
for(int n=0;n<ny;n++){
cout<<"H1["<<m<<"]"<<"["<<n<<"]"<<g[m][n]<<endl
}
}
return 0;
}