c++ - 如何选择二维数组中的另一列?

标签 c++ c arrays

如何选择二维数组的第二列。 我有这个包含大约 30 个值 (LKT) 的数组,从那里我有一个二维数组 (ScaledValues)。此二维数组的第二列将填充原始 LKT 数组的缩放版本。

最初,ActiveArray 变量指向 LKT 数组。但是,当我使用第一个 LKT 数组的缩放值填充 ScaledValues 数组的第二列时,我如何移动 ActiveArray 以现在指向第二列作为我将使用的事件数组?即在我用所需的比例值填充第二列后,我想使用这些值,并且我想使用 ActiveArray 变量来表示这个新列是事件数组。

我知道还有其他方法可以做到这一点,即我可以创建 2 个单独的数组,但我必须使用您在下面看到的格式。请协助。谢谢。

如果我需要让我的问题更清楚,请告诉我。

非常感谢。

static const unsigned int LKT[30] = {
    30, 29, 28, 27, 26, 25, 24, 23, 22, 
    21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 
    11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};

static unsigned int ScaledValues[30][2];


static volatile unsigned char ActiveArray = 0;

最佳答案

反转 ScaledValues 数组声明:

unsigned int ScaledValues[2][30];

for (int i = 0; i < 30; i++) {
    ScaledValues[0][i] = LKT[i];
    ScaledValues[1][i] = scale(LKT[i]);
}

// Also need to make this a pointer
unsigned int * ActiveArray = ScaledValues[0];    // Original values
ActiveArray = ScaledValues[1];                  // Scaled values

关于c++ - 如何选择二维数组中的另一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13350148/

相关文章:

javascript - 如何快速从关键字列表中删除不包含关键字的项目?

C++11:未触发 move 构造函数

c - 将 uint8 数组合并到 uint64 错误

c - 为什么我无法让 System V 消息队列与 fork() 一起使用?

c - 如何在c中对不同的int值调用不同的函数

arrays - 使用 firebase 在 swift 中实现对提要帖子的评论

arrays - 循环移动向量

c++ - 带有提升日志的 Visual 2015 链接错误

c++ - 多个 emplace_back 额外调用复制构造函数

c++ - 在Bison C++中解析谓词逻辑