C++实现不使用vector交换矩阵指定两列
以下是将上述代码改为不使用 `std::vector` 的 C++ 代码,使用二维数组来存储矩阵: ```cpp #include <iostream> using namespace std; const int MAX_SIZE = 1000; // 定义矩阵的最大尺寸 int main() { int r, c; // 输入矩阵的行数和列数 cin >> r >> c; // 定义二维数组来存储矩阵 int matrix[MAX_SIZE][MAX_SIZE]; // 输入矩阵的元素 for (int i = 0; i < r; ++i) { for (int j = 0; j < c; ++j) { cin >> matrix[i][j]; } } int x, y; // 输入要交换的两列的列号 cin >> x >> y; // 交换第 x 列和第 y 列 for (int i = 0; i < r; ++i) { int temp = matrix[i][x - 1]; matrix[i][x - 1] = matrix[i][y - 1]; matrix[i][y - 1] = temp; } // 输出交换后的矩阵 for (int i = 0; i < r; ++i) { for (int j = 0; j < c; ++j) { if (j > 0) { cout << " "; } cout << matrix[i][j]; } cout << endl; } return 0; } ``` ### 代码解释: - **定义二维数组**:使用 `int matrix[MAX_SIZE][MAX_SIZE];` 定义一个二维数组来存储矩阵,`MAX_SIZE` 是预先定义的矩阵最大尺寸。 - **输入矩阵元素**:通过两层 `for` 循环,使用 `cin` 从标准输入读取矩阵的每个元素。 - **交换列**:同样使用两层 `for` 循环,外层循环遍历每一行,内层使用临时变量 `temp` 交换第 `x - 1` 列和第 `y - 1` 列的元素。 - **输出矩阵**:再次使用两层 `for` 循环,将交换后的矩阵元素输出到标准输出,元素之间用空格分隔,每行元素输出后换行。 ######[AI问答 | 556点数解答 | 2026-04-25 20:21:57]
- 解决 C++ 代码 “vector 未声明” 等错误:实现字符串单词反转功能(字节豆包 | 489点数解答 | 2025-11-12 14:49:29)92
- 优化代码解决超时问题:计算数组 f(l, r) 最小和(字节豆包 | 821点数解答 | 2026-05-10 16:15:59)17
- 优化代码解决超时问题:计算所有 f(l, r) 的和(字节豆包 | 767点数解答 | 2026-05-10 16:17:49)34
- 修复代码:让含随机元素的 Win32 游戏界面代码正常运行(GPT | 2686点数解答 | 2024-10-31 15:01:39)393
- C++ 代码:巧妙计算 n×n 矩阵行、列、对角线平行直线元素和最大值(字节豆包 | 1151点数解答 | 2025-11-26 20:07:49)53
- C++ 简单方块世界玩家移动代码:分析、优化与注意事项揭秘(字节豆包 | 881点数解答 | 2025-12-20 19:47:37)68
- C++游戏代码中枚举类型定义报错原因及解决方案(字节豆包 | 371点数解答 | 2026-02-27 20:29:12)44
- C++实现不使用vector交换矩阵指定两列(字节豆包 | 556点数解答 | 2026-04-25 20:21:57)28
- C++代码:模拟粒子炮与集束粒子炮攻击护盾效果及优化(字节豆包 | 1261点数解答 | 2026-05-01 17:30:09)32
- 优化代码避免TLE:计算所有 f(l, r) 的和(字节豆包 | 765点数解答 | 2026-05-10 16:19:03)23
- 解决代码WA问题:修改整数溢出问题后的计算代码(字节豆包 | 749点数解答 | 2026-05-10 16:20:03)44
- 修正代码解决计算 f(l, r) 和出现的 WA 问题(字节豆包 | 806点数解答 | 2026-05-10 16:21:37)43