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

C++实现 5×5 矩阵行交换及代码解析

以下是一个用 C++ 实现的程序,用于交换 5×5 矩阵的第 `n` 行和第 `m` 行,并输出交换后的矩阵: ```cpp #include <iostream> using namespace std; const int ROWS = 5; const int COLS = 5; // 交换矩阵的第 n 行和第 m 行 void swapRows(int matrix[ROWS][COLS], int n, int m) { for (int i = 0; i < COLS; i++) { int temp = matrix[n][i]; matrix[n][i] = matrix[m][i]; matrix[m][i] = temp; } } // 打印矩阵 void printMatrix(int matrix[ROWS][COLS]) { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { cout << matrix[i][j] << " "; } cout << endl; } } int main() { int matrix[ROWS][COLS] = { {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}, {16, 17, 18, 19, 20}, {21, 22, 23, 24, 25} }; int n, m; cout << "请输入要交换的两行的行号(0 - 4),用空格分隔:"; cin >> n >> m; // 检查输入的行号是否合法 if (n < 0 || n >= ROWS || m < 0 || m >= ROWS) { cout << "输入的行号不合法,请输入 0 到 4 之间的整数。" << endl; return 1; } // 交换第 n 行和第 m 行 swapRows(matrix, n, m); // 输出交换后的矩阵 cout << "交换后的矩阵:" << endl; printMatrix(matrix); return 0; } ``` ### 代码解释: 1. **常量定义**: - `ROWS` 和 `COLS` 分别定义了矩阵的行数和列数,这里均为 5。 2. **`swapRows` 函数**: - 该函数接受一个 5×5 的矩阵和两个行号 `n` 和 `m` 作为参数。 - 通过一个循环遍历每一列,交换第 `n` 行和第 `m` 行对应列的元素。 3. **`printMatrix` 函数**: - 该函数用于打印矩阵,通过两层循环遍历矩阵的每一个元素,并将其输出。 4. **`main` 函数**: - 定义一个 5×5 的矩阵,并初始化。 - 提示用户输入要交换的两行的行号。 - 检查输入的行号是否合法,如果不合法则输出错误信息并终止程序。 - 调用 `swapRows` 函数交换指定的两行。 - 调用 `printMatrix` 函数输出交换后的矩阵。 ### 开发建议: - **错误处理**:代码中已经对输入的行号进行了合法性检查,但可以进一步扩展错误处理,例如处理输入非整数的情况。 - **可扩展性**:如果需要处理不同大小的矩阵,可以将矩阵的行数和列数作为参数传递给函数,而不是使用常量。 - **用户体验**:可以添加更多的提示信息,让用户更清楚地了解程序的使用方法。 ######[AI写代码神器 | 903点数解答 | 2026-06-26 14:11:41]

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