2 D配列(3 D配列)×3)転置、すなわち行列交換


Problem A:与えられた2次元配列(3)を作成する関数を書きます.×3)転置、すなわち行列交換
Time Limit: 1 Sec  
Memory Limit: 128 MB
Submit: 1670  
Solved: 941
[ Submit][ Status][ Web Board]
Description
与えられた2次元配列(3)を作成する関数を書きます.×3)転置,すなわち行列交換.
Input
3 x 3のマトリクス
Output
てんいぎょうれつ
Sample Input
1 2 3
4 5 6
7 8 9

Sample Output
1 4 7 
2 5 8 
3 6 9 

HINT
主関数は以下のように与えられており、提出時に下記の主関数を含める必要はありません.
/*Cコード*/int main(){int a[3][3];int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);
  zhuangzhi(a);   for(i=0; i<3; i++)   {      for(j=0; j<3; j++)         printf("%d ",a[i][j]);      printf("");   }    return 0; }
/*C++コード*/
int main() {   int a[3][3];   int i,j;   for(i=0; i<3; i++)     for(j=0; j<3; j++)        cin>>a[i][j];   zhuangzhi(a);   for(i=0; i<3; i++)   {     for(j=0; j<3; j++)       cout<     cout<   }   return 0; }
コードは次のとおりです.
void  zhuangzhi( int a[3][3] )
{
int i,j,b[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j][i]=a[i][j];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=b[i][j];
}
int main()
{
    int a[3][3];
    int i,j;
    for(i=0; i<3; i++)
        for(j=0; j<3; j++)
            scanf("%d",&a[i][j]);
 
    zhuangzhi(a);
    for(i=0; i<3; i++)
    {
        for(j=0; j<3; j++)
            printf("%d ",a[i][j]);
        printf("
"); } return 0; }