注册 登录
编程论坛 C++教室

行列互换

qin888 发布于 2010-04-23 15:45, 533 次点击
实现3行2列矩阵的转置(行列互换),转置后的矩阵是2行3列。

请问我下面的程序错在哪里?要怎么改正呢?
实在不行,得重新编写一个程序的话,麻烦朋友帮我编一个!!!
谢谢!!!
#include<iostream.h>
int main()
{
    int t,i,j,a[2][3]={{1,2,3},{4,5,6}};
    for(i=0;i<2;i++)
        for(j=0;j<3;j++)
        {
        t=a[i][j];
        a[i][j]=t;
        t=a[j][i];
        }
        for(j=0;j<3;j++)
        {    for(i=0;i<2;i++)
            {    cout<<a[j][i];}
            cout<<endl;
        }
        return 0;
}


1 回复
#2
ciweitou1632010-04-23 18:32
输出的是3行2列 就不能用a来输出了,应该重新定义一个!
程序代码:
#include<iostream>
using namespace std;

int main()
{
    int t,i,j,a[2][3]={{1,2,3},{4,5,6}},b[3][2];
    for(i=0;i<2;i++)
        for(j=0;j<3;j++)
        {
        b[j][i]=a[i][j];
        }
        for(j=0;j<3;j++)
        {    for(i=0;i<2;i++)
            {
                cout<<b[j][i]<<' ';
            }
            cout<<endl;
        }
        return 0;
}
1