问题:矩阵的数都是随机产生的,输入行数n,行数和列数一样,输出转置后的矩阵
代码:
#include
#include
#include
#define random(x)rand()%(x); //宏定义 产生随机数
using namespace std;
void print_ju(int **p,int n){
for(int i=0;i for(int j=0;j cout<
} cout< } } void zhuanzhi(int **a,int n){ int i,j; for(i=0;i for(j=0;j<=i;j++){ int temp=a[i][j]; a[i][j]=a[j][i]; a[j][i]=temp; } } } int main(){ srand((int)time(0)); //产生随机数种子 int n; cin>>n; int i,j; int **p=new int* [n]; for(i=0;i p[i]=new int[n]; } for(i=0;i for(j=0;j p[i][j]=random(100); } } print_ju(p,n); //转置 zhuanzhi(p,n); cout< print_ju(p,n); return 0; } 结果: //行列不同的矩阵转置 代码: #include #include #include using namespace std; void free(int **p,int n){ //释放空间 for(int i=0;i delete[] p[i]; } p=NULL; } int main(){ srand((int)time(0));//随机数种子 int n,m; cin>>n>>m; int **p=new int*[n]; for(int i=0;i p[i]=new int[m]; } for(int i=0;i for(int j=0;j p[i][j]=rand()%1000+1;//产生1到1000之内的数字 cout<
} cout< } cout< int a[m][n];//这是转置后的数组 int i=0,j=0; while(1){ if(i==n){ break; } if(j==m){ j=0;i++; continue; } a[j][i]=p[i][j]; j++; } for(int i1=0;i1 for(int j1=0;j1