基础题,对于矩阵中的每一个点,以其为左上角构建 4 格正方形矩阵,这 4 个元素的平均值(向下取整)为新矩阵中对应位置的元素。
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
const int MAXN = 10;
int arr[MAXN][MAXN]; //输入
int main()
{
string s;
int R, C;
while (cin >> s)
{
if (s == "ENDOFINPUT")
break;
memset(arr, 0, sizeof(arr));
cin >> R >> C;
char ch; //读入数字字符
for (int i = 0; i < R; i++)
{
for (int j = 0; j < C; j++)
{
cin >> ch;
arr[i][j] = ch - '0'; //将字符型转换为整型
}
}
for (int i = 0; i < R - 1; i++)
{
for (int j = 0; j < C - 1; j++)
{
cout << (arr[i][j] + arr[i + 1][j] + arr[i][j + 1] + arr[i + 1][j + 1]) / 4;
}
cout << endl;
}
cin >> s; //读取“END”
}
return 0;
}
继续加油。