酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++矩阵列交换算法实现及索引转换要点

## 📝 矩阵列交换实现方案 ### 🔍 问题分析 需要交换矩阵的第 `x` 列和第 `y` 列,输入格式依次为:行列数、矩阵元素、待交换列号。输出交换后的完整矩阵。 ### 💻 C++ 代码实现 ```cpp #include <iostream> #include <vector> using namespace std; int main() { int r, c; cin >> r >> c; vector<vector<int>> matrix(r, vector<int>(c)); // 读取矩阵元素 for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { cin >> matrix[i][j]; } } int x, y; cin >> x >> y; // 将列号转换为0-based索引 x--; y--; // 交换第x列和第y列 for (int i = 0; i < r; i++) { swap(matrix[i][x], matrix[i][y]); } // 输出结果 for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { cout << matrix[i][j]; if (j != c - 1) cout << " "; } cout << endl; } return 0; } ``` ### 🧠 关键算法步骤 1. 用二维 `vector` 存储矩阵,大小为 `r x c`。 2. 遍历每行,利用 `swap` 函数交换指定列的元素。 3. 按行输出,每行元素用空格分隔。 ### 📋 输入输出示例 **输入:** ``` 3 3 1 2 3 4 5 6 7 8 9 1 3 ``` **输出:** ``` 3 2 1 6 5 4 9 8 7 ``` ### ⚠️ 注意事项 - 列号从1开始,代码中需转换为0-based索引。 - 使用 `swap` 时,确保 `x` 和 `y` 在有效范围内。 - 输出格式严格控制每行末尾无多余空格。 ######[AI问答 | 513点数解答 | 2026-08-09 22:24:36]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]