然后生成c++代码,满足样例
时间: 2024-01-04 07:02:05 浏览: 32
好的,以下是一份满足样例的 C++ 代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
string name;
int r, c, f;
while (cin >> name >> r >> c >> f) {
// 初始化图像
vector<vector<uint16_t>> image(r, vector<uint16_t>(c));
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j++) {
cin >> image[i][j];
}
}
// 滑动窗口计算邻域内像素值的平均数
vector<vector<uint64_t>> window(2 * f + 1, vector<uint64_t>(2 * f + 1));
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j++) {
uint64_t sum = 0;
int count = 0;
for (int k = max(0, i - f); k <= min(r - 1, i + f); k++) {
for (int l = max(0, j - f); l <= min(c - 1, j + f); l++) {
sum += image[k][l];
count++;
}
}
image[i][j] = sum / count;
}
}
// 输出结果
cout << name << " " << r << " " << c << " " << f << endl;
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j++) {
cout << image[i][j] << " ";
}
cout << endl;
}
}
return 0;
}
```
其中,使用 `max(0, i - f)` 和 `min(r - 1, i + f)` 来限制邻域的范围,避免处理边界时越界。
相关推荐
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)