我正在使用Arduino DUE而我正试图找到一种转置数组的方法。
例如,如果我有这个数组:
int A[5] ={1, 2, 3,4,5};
它基本上是一个包含1行和5列的数组。转置后应该是5行1列。
如果不使用任何库,你知道怎么做吗?
答案 0 :(得分:1)
我理解你的问题,但我相信你对数组的含义有误解,数组不是一行有多列或有多行的列,只是内存中存储值的序列强>
这意味着ar数组没有定义的形状,编码器通常是对其进行整形的人,因此您可以将其用作1x5或5x1矩阵,具体取决于您迭代它的方式。
答案 1 :(得分:0)
假设您有一个(m×n)次序的二维数组,则创建一个新的顺序数组(n x m)。这可以通过使用嵌套循环遍历顺序数组(n x m)并复制顺序数组(m x n)的元素来完成,所以你所要做的就是--->
a [m] [n] ----->初始数组(输入) b [n] [m] ----->新的必需数组(输出 - 转置)
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
b[i][j]=a[j][i];
}
}
因此,这为你提供了所需的数组b [n] [m],它是a的转置。