int **matrix=new int[M];
for (int i=0; i<M; i++) matrix[M]=new int [N];
int id_max[2]={0};//first m, second n
for (int i=0; i<M; i++) for (int j=0; j<N; j++) if(matrix[i][j]>matrix[id_max[0]][id_max[1]]) id_max[0]=i, id_max[1]=j;//search max
це просто пошук
а це сортування
int **matrix=new int[M];
for (int i=0; i<M; i++) matrix[M]=new int [N];
int id_max[2]={0};//first m, second n
int t;
for (int a=0; a<M*N; a++) for (int i=0; i<M; i++) for (int j=0; j<N; j++) if(matrix[i][j]>matrix[id_max[0]][id_max[1]]) id_max[0]=i, id_max[1]=j, t=matrix[0][0], matrix[0][0]=matrix[i][j], matrix[i][j]=t;//search max & sort
я можу помилятися, код написаний на бистру руку
int **matrix=new int[M];
for (int i=0; i<M; i++) matrix[M]=new int [N];
int id_col=0;//m
for (int i=0; i<M; i++) for (int j=0; j<N; j++) for (int q=0; q<N; q++) if (matrix[i][j]==maxrix[i][q]) id_col=i, break;
якось так. незнаю, чесно