| Код | #include <iostream> #include <stdlib.h> #include <time.h> //----------------------------------------------------// int** create_matr(const int N,const int M) { int **d; d=new int*[N]; for(int i=0;i<N;i++) d[i]=new int[M];
return d; }
void delete_matr(int** d,int N) { for(int i=0;i<N;i++) delete [] d[i]; delete [] d; } void set_rand_value(int **d,const int N,const int M,int max_val) { srand( (unsigned)time( NULL ) ); for(int i=0;i<N;i++) for(int j=0;j<M;j++) d[i][j]=rand()%max_val; }
void print_matr(int **d,const int N,const int M) { std::cout<<std::endl<<"|"; for(int i=0;i<N;i++) { for(int j=0;j<M;j++) { std::cout<<d[i][j]; if(j+1!=M) { if(d[i][j]<=9) std::cout<<" "; else std::cout<<" "; } else { if(d[i][j]<=9) std::cout<<" "; }
} std::cout<<"|"<<std::endl; if(i+1!=N) std::cout<<"|"; } std::cout<<std::endl; }
int get_max_value(int **d,const int N,const int M) { int temp=d[0][0]; for(int i=0;i<N;i++) for(int j=0;j<M;j++) if(d[i][j]>temp) temp=d[i][j]; return temp; }
int get_min_value(int **d,const int N,const int M) { int temp=d[0][0]; for(int i=0;i<N;i++) for(int j=0;j<M;j++) if(d[i][j]<temp) temp=d[i][j]; return temp; }
void swap(int **d,const int k,const int l) { int *row; row=d[k]; d[k]=d[l]; d[l]=row; } void copy_row(int **d,const int M,const int k,const int l) { if(k!=l) for(int j=0;j<M;j++) d[k][j]=d[l][j]; } bool is_there(int **d,const int M,const int k,const int l) { for(int j=0;j<M;j++) if(d[k][j]==l) return true; return false; } int main() { int N=7,M=3; int **A; int max,min,min_i; A = create_matr(N,M); set_rand_value(A,N,M,20); print_matr(A,N,M);
max=get_max_value(A,N,M); min=get_min_value(A,N,M); for(int i=0;i<N;i++) { if(is_there(A,M,i,min)) { min_i=i; break; } } for(int i=0;i<N;i++) { if(is_there(A,M,i,max)) copy_row(A,M,i,min_i); }
std::cout<<"min="<<min<<std::endl; std::cout<<"max="<<max<<std::endl; print_matr(A,N,M); delete_matr(A,N); char ch; std::cin>>ch; return 0; }
|
|