将一个2乘3的二维数组a的行和列元素互换,存到一个3乘2的二维数组b中

#include<iostream>
using namespace std;
int main()
{int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
cout<<"array a:"<<endl;
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
cout<<a[i][j]<<" ";
b[j][i]=a[i][j];
cout<<endl;}

cout<<"array b:"<<endl;
for(i=0;i<=2;i++)
{for(j=0;j<=1;j++)
cout<<b[i][j]<<" ";
cout<<endl;
}
return 0;
}
结果:
array a:
1 2 3
4 5 6
array b:
-858993460 -858993460
-858993460 -858993460
-858993460 -858993460
请问各位朋友array b为什么会这样的

第1个回答  2012-05-16
主程序修改如下(见有注释那行):
int main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
cout<<"array a:"<<endl;

for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++) //for 循环包含两行语句应加大括号
{ cout<<a[i][j]<<" ";
b[j][i]=a[i][j];
}
cout<<endl;
}

cout<<"array b:"<<endl;
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
cout<<b[i][j]<<" ";
cout<<endl;
}
return 0;
}
第2个回答  2012-05-16
#include<iostream>
using namespace std;
int main()
{int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
cout<<"array a:"<<endl;
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
{//这里加个大括号把下面两句放在一个快内
cout<<a[i][j]<<" ";
b[j][i]=a[i][j];
} //到这里
cout<<endl;}

cout<<"array b:"<<endl;
for(i=0;i<=2;i++)
{for(j=0;j<=1;j++)
cout<<b[i][j]<<" ";
cout<<endl;
}
return 0;
}
第3个回答  2012-05-16
#include<iostream>
using namespace std;
int main()
{int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
cout<<"array a:"<<endl;
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
cout<<a[i][j]<<" ";
b[j][i]=a[i][j];
cout<<endl;}

cout<<"array b:"<<endl;
for(i=0;i<=2;i++)
{for(j=0;j<=1;j++)
cout<<b[i][j]<<" ";
cout<<endl;
}
return 0;
}
结果:
array a:
1 2 3
4 5 6
array b:
相似回答