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

字符矩阵指定位置周边元素修改代码实现

以下是实现该功能的完整代码: ```cpp #include <iostream> using namespace std; char a[10][10]; // 因为 1≤n, m<10,所以定义一个 10x10 的数组 int main() { int n, m, x, y; cin >> n >> m; // 输入字符矩阵 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> a[i][j]; } } // 输入指定位置 cin >> x >> y; // 手动处理3个方向,判断是否越界,然后修改对应位置的元素 // 注意:如果越界了,就不要修改了,直接跳过 if (x - 1 >= 0) // 看一下位置,是否有上一行的元素 { a[x - 1][y] = '0'; } if (x - 1 >= 0 && y - 1 >= 0) // 看一下位置,是否有左上的元素 { a[x - 1][y - 1] = '0'; } if (x - 1 >= 0 && y + 1 < m) // 看一下位置,是否有右上的元素 { a[x - 1][y + 1] = '0'; } // 输出修改后的矩阵 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout << a[i][j]; if (j < m - 1) { cout << " "; } } cout << endl; } return 0; } ``` ### 代码解释: 1. **数组定义**:`char a[10][10];` 定义一个 10x10 的字符数组,因为输入的矩阵行数和列数范围是 1≤n, m<10。 2. **输入矩阵**:通过两层 `for` 循环读取矩阵的每一个元素。 3. **输入指定位置**:读取指定位置 `(x, y)`。 4. **修改元素**: - **上方元素**:判断 `x - 1 >= 0`,如果成立说明有上一行元素,将 `a[x - 1][y]` 设置为 `'0'`。 - **左上方元素**:判断 `x - 1 >= 0 && y - 1 >= 0`,如果成立说明有左上方元素,将 `a[x - 1][y - 1]` 设置为 `'0'`。 - **右上方元素**:判断 `x - 1 >= 0 && y + 1 < m`,如果成立说明有右上方元素,将 `a[x - 1][y + 1]` 设置为 `'0'`。 5. **输出矩阵**:通过两层 `for` 循环输出修改后的矩阵,每行元素之间用空格分隔。 ######[AI问答 | 748点数解答 | 2026-04-25 19:23:10]

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