不会还有人不会暴力枚举吧,不会吧不会吧
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int m, n;
    cin >> n >> m;
    int saolei[n][m];
    fill_n(&saolei[0][0], m * n, -2);
    char a;
    int x = 0, y = 0;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cin >> a;
            if (a == '*')
                saolei[i][j] = -1;
        }
    }
    int dir[8][2] = {{1, 0}, {1, 1}, {0, 1}, {-1, 1}, {1, -1}, {-1, 0}, {0, -1},{-1,-1}};
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            if (saolei[i][j] == -1)
            {
                cout << "*";
                continue;
            }
            int count = 0;
            for (int k = 0; k < 8; k++)
            {
                int px = i + dir[k][0];
                int py = j + dir[k][1];
                if (px < 0 || px > n-1 || py < 0 || py > m-1)
                    continue;
                else if (saolei[px][py] == -1)
                    count++;
            }
            cout << count;
        }
        cout << endl;
    }
}