以下是一个简单的C++程序,该程序接受一个二维数组并将其按列的顺序存储到一个一维数组中: ```cpp #include #include int main() { // 定义并初始化二维数组 const int rows = 3; const int cols = 4; int twoDimArray[rows][cols] = { {11, 22, 33, 44}, {11, 22, 33, 44}, {11, 22, 33, 44} }; // 创建一个足够大的一维数组来存储按列展开后的数据 std::vector oneDimArray(rows * cols); // 遍历二维数组,并将元素按列存储到一维数组中 for (int j = 0; j < cols; ++j) { // 遍历列 for (int i = 0; i < rows; ++i) { // 遍历行 oneDimArray[i * cols + j] = twoDimArray[i][j]; // 按列顺序存储 } } // 输出一维数组中的元素 for (const auto& elem : oneDimArray) { std::cout << elem << " "; } return 0; } ``` 在这个程序中,我们首先定义了一个3x4的二维数组,并初始化了它的值。然后,我们创建了一个大小为`rows * cols`的一维`vector`,这个`vector`会用来存储按列展开后的元素。 接着,我们使用两个嵌套的循环来遍历二维数组,外层循环遍历列,内层循环遍历行。在每次内层循环中,我们根据当前的行和列索引计算出一维数组中的位置,并将二维数组中的元素存储到对应位置。 最后,我们使用一个循环来遍历并输出一维数组中的元素。 当运行这个程序时,它将输出: ``` 11 11 11 22 22 22 33 33 33 44 44 44 ``` 这就是你所期望的一维数组中的元素顺序。

点赞(0)
×
关注公众号,登录后继续创作
或点击进入高级版AI
扫码关注后未收到验证码,回复【登录】二字获取验证码
发表
评论
返回
顶部