头像
Joey_江
发布于 2021-09-14 18:06
+ 关注

疑惑

空间开的正好就会出错,多1个就不会,帮忙解释一下
#include <iostream>

using namespace std;

int main(){
    int n,m;
    cin>>n>>m;
    char a[n+1][m+1];
    char b[n][m];
    for(int i=0;i<n;i++){
        for(int j =0;j<m;j++){
            cin>>a[i][j];
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            int num=0;
            if(a[i][j]=='*'){
                b[i][j]='*';
            }
            else {
                if(a[i-1][j-1]=='*') num++;
                if(a[i-1][j]=='*') num++;
                if(a[i-1][j+1]=='*') num++;
                if(a[i][j-1]=='*') num++;
                if(a[i][j+1]=='*') num++;
                if(a[i+1][j-1]=='*') num++;
                if(a[i+1][j]=='*') num++;
                if(a[i+1][j+1]=='*') num++;
                b[i][j]=num+'0';
            }
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cout<<b[i][j];
        }
        cout<<endl;
    }

    return 0;
}

全部评论

(1) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐