例5.4 将一个二维数组行和列元素互换,存到另一个二维数组中。例如 a= 1 2 3 4 5 6 b= 1 4 2 5 3 6 程序如下: #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: 1 4 2 5 3 6 例5.5 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 开始时把a[0][0]的值赋给变量max,然后让下一个元素与它比较,将二者中值大者保存在max中,然后再让下一个元素与新的max比,直到最后一个元素比完为止。max最后的值就是数组所有元素中的最大值。 程序如下: #include <iostream> using namespace std; int main( ) { int i,j,row=0,colum=0,max; int a[3][4]={{5,12,23,56},{19,28,37,46},{-12,-34,6,8}}; max=a[0][0]; //使max开始时取a[0][0]的值 for (i=0;i<=2;i++) //从第0行~第2行 for (j=0;j<=3;j++) //从第0列~第3列 if (a[i][j]>max) //如果某元素大于max {max=a[i][j]; //max将取该元素的值 row=i; //记下该元素的行号i colum=j; //记下该元素的列号j } cout<<″max=″<<max<<″,row=″<<row<<″,colum=″<<colum<<endl; return 0; } 输出结果为 max=56,row=0,colum=3

评论