📅  最后修改于: 2023-12-03 15:37:14.923000             🧑  作者: Mango
该问题是关于给定长度和宽度的矩阵,在其中使用给定字符填充矩形的特定行和列。程序需要将填充好的矩阵输出。
输入:
5 5
.....
..x..
.....
.....
.....
2 3
输出:
.....
..x..
.....
.....
.....
这个问题可以理解为:给定矩阵中的一个点 (x, y),在第 x 行和第 y 列上用指定字符填充。因此,我们需要更改矩阵中第 x 行和第 y 列上的每个元素,以填充指定的字符。
可以遍历所有行和列,并在指定的行和列上进行填充。在 C++ 中可以使用 vector 来存储矩阵内容。
#include <iostream>
#include <vector>
using namespace std;
int main() {
int R, C, x, y;
cin >> R >> C;
// 读取矩阵内容
vector<string> matrix(R);
for (int i = 0; i < R; i++) {
cin >> matrix[i];
}
cin >> x >> y;
x--; // 将行和列的下标从 1 转换为 0
y--;
// 填充指定的行和列
for (int i = 0; i < R; i++) {
if (i == x) {
// 填充指定行
for (int j = 0; j < C; j++) {
matrix[i][j] = 'x';
}
}
if (i == y) {
// 填充指定列
for (int j = 0; j < R; j++) {
matrix[j][y] = 'x';
}
}
}
// 输出填充后的矩阵
for (int i = 0; i < R; i++) {
cout << matrix[i] << endl;
}
return 0;
}
以上是 C++ 的实现方式,其他编程语言也可以参考这个算法实现。