二维数组的变换

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:31:29
将一个二维数组如列元素互换,存到另一个二维数组中。例如数组
A是原数组,B是变换之后的数组。
123
456
变换成
14
25
36
编写出程序,思路是什么,程序中的重点和难点是什么?/
谢谢高手了。


#include<stdio.h>
void main()
{int a[2][3]={{1,2,3},{4,5,6}},i,j,b[3][2];
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
{
printf("%d ",a[i][j]);
b[j][i]=a[i][j];
}
printf(" \n");
for(j=0;j<=2;j++)
for(i=0;i<=1;i++)
{
printf("%d ",b[j][i]);
}
getchar();
}

思路就是行边列,列变行喽。这个程序也是我黏贴的呵呵。好早做过没必要再写了。如果一下子像不明白就用纸花个图,马上思路就清楚一半。

最简单的,双层循环。循环变量是行列,颠倒变量赋值就可以。
以C为例:
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
b[j][i]=a[i][j];

重点难点...定义数组时候要看清楚,别最后赋值时溢出

用循环就可以了

int i;

int a[2][3]={{1,2,3},{4,5,6}};

int b[3][2];

for(i=0;i<3;i++)b[i][0]=a[0][i];

for(i=0;i<3;i++)b[i][1]=a[1][i];