将一个3*2的二维数组A表示矩阵(如下图)转置存入B中,再按矩阵的形式输出A和B

来源:百度知道 编辑:UC知道 时间:2024/09/21 21:04:59
1 2
3 4
5 6
不用到指针,只用数组,循环语句知识,谢谢了

就写个适合你这个的把,下面是代码:

#include <iostream>
using namespace std;
int main()
{
int i,j;
int A[3][2]={1,2,3,4,5,6};
int B[2][3];
//下面的循环进行转置
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
B[j][i]=A[i][j];
}
}
//下面的循环输出原矩阵
cout<<"原矩阵为:"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
cout<<A[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
//下面的循环输出转置后的矩阵
cout<<"转置后的矩阵为:"<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
cout<<B[i][j]<<" ";
}
cout<<endl;
}
return 0;
}

程序有几点错误:
1. arrayT(*a,*b,3,2); 传的应该是二位数组a,b的首地址吧,那应该是
arrayT(a,b,3,2);才对;*a,*b分别为第0行地址的值是未知的
2. 子程序算法本身也有问题
改正如下:
#include <stdio.h>

v