首页 新闻 搜索 专区 学院

怎样实现转置

0
[待解决问题]

一个矩阵怎样实现转置,c++代码,写不出来,最大维数为8,要动态的输入数据,来转置矩阵

杀  手的主页 杀 手 | 菜鸟二级 | 园豆:213
提问于:2011-07-08 12:28
< >
分享
所有回答(2)
0

矩阵转置,就是行变成列,列变成行,贴代码如下,仅供参考:

//
// 转置m行,n列的矩阵
//
void transpositionMatrix(int sourceMatrix[5][8], int destMatrix[8][5], int m, int n)
{
for (int i = 0; i < m; ++i)
{
for (int j = 0; j < n; ++j)
{
destMatrix[j][i]
= sourceMatrix[i][j];
}
}
}


void main()
{
int matrix1[5][8] = {0};
int matrix2[8][5] = {0};

int value = 1;
for (int i = 0; i < 5; ++i)
{
for (int j = 0; j < 8; ++j)
{
matrix1[i][j]
= value++;
cout
<< matrix1[i][j] << " ";
}
cout
<< endl;
}

// 转置矩阵
transpositionMatrix(matrix1, matrix2, 5, 8);

for (int i = 0; i < 8; ++i)
{
for (int j = 0; j < 5; ++j)
{
matrix1[i][j]
= value++;
cout
<< matrix2[i][j] << " ";
}
cout
<< endl;
}

system(
"pause");
}
莫压枯枯地 | 园豆:220 (菜鸟二级) | 2011-08-02 09:24
0

传送门,看我今天写的基于vector的转置http://www.cnblogs.com/xiangshancuizhu/archive/2011/09/03/2165428.html

hailong | 园豆:70 (初学一级) | 2011-09-03 21:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册