二维数组排序及二维数组元素的替换,最后需以矩阵形式输出,求解答

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
void PutWall(int a[][4],int b[],int m,int n){
for(int j=0;j<3;j++) a[0][j]=b[j];
for(int j=0;j<3;j++) a[j][3]=b[j+3];
for(int j=0;j<3;j++) a[3][3-j]=b[j+6];
for(int j=0;j<3;j++) a[3-j][0]=b[j+9];
}
int main(){
int dm[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};
int pa[12]={1,3,5,7,10,20,2,4,6,8,30,40};
for(int i=0;i<12;i++) cout<<pa[i]<<" ";
cout<<endl;
PutWall(dm,pa,4,4);
for(int i=0;i<4;i++){
for(int j=0;j<4;j++) cout<<dm[i][j]<<" ";
cout<<endl;
}
getchar();
getchar();
}