【发布时间】:2016-05-05 12:49:13
【问题描述】:
我正在使用 C++。
我有以下矩阵:
{1,2,3,4,5}
{6,7,8,9,10}
{11,12,13,14,15}
{16,17,18,19,20}
{21,22,23,24,25}
我想将矩阵转换为 5 个向量,如下所示:
a[5] = {1,6,11,16,21};
b[5] = {2,7,12,17,22};
c[5] = {3,8,13,18,23};
d[5] = {4,9,14,19,24};
e[5] = {5,10,15,20,25};
我想将每个矩阵列转换为向量。
我有需要 5 个向量并将其转换为矩阵的代码:
typedef int *pInt;
//Each element of arr is a int-type pointer
pInt arr[5] = {a, b, c, d, e};
int matrix[5][5] = {0};
for(int i = 0; i < 5; ++i){
for(int j = 0 ; j < 5; ++j){
matrix[i][j] = arr[j][i];
}
}
那么如何将矩阵转换为向量呢?
【问题讨论】:
-
您是否有任何限制,例如:您是否必须保持矩阵中的值完整,矩阵的大小可以变化还是修复,矩阵有多大,您是否尝试优化对于某些东西(速度、内存)等?