(c语言用指针)已知一个二维数组a[2][3]={{1,2,3},{4,5,6}},将其转置后存入另一个二维数组b[3][2]中。

如题所述

第1个回答  2012-12-19
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2];
int *p=&(a[0][0]);
for(int i=0;i<3;i++)
for(int j=0;j<2;j++)
b[i][j]=*(p+i+3*j);追问

能选全点吗?我要全部代码

追答

#include
int main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2];
int *p=&(a[0][0]);
int i,j;

for(i=0;i<3;i++)
for(j=0;j<2;j++)
b[i][j]=*(p+i+3*j);
printf("原来的矩阵\n");

for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf("%d\t",a[i][j]);

printf("\n");

}
printf("转置后的矩阵\n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
printf("%d\t",b[i][j]);
printf("\n");
}

}

本回答被提问者采纳
第2个回答  2012-12-19
关于这个书上好像有原题的int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2];
int *p=&(a[0][0]);
for(int i=0;i<3;i++)
for(int j=0;j<i;j++)
b[i][j]=*(p+i+3*j);
相似回答