lawrence2004 2017-09-05 22:16:23
点我顶贴
收藏
删除
#include<cstring>
#include<cstdio>
int fx[9]={0,-1,-1,-1,0,0,1,1,1};
int fy[9]={0,-1,0,1,-1,1,-1,0,1};
char st[110][110];
int a[110][110],n,m,hh;
int main()
{
hh=0;
while(1)
{
scanf("%d %d",&n,&m);
if(n==0&&m==0)return 0;
hh++;
memset(st,0,sizeof(st));
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++)scanf("%s",st[i]+1);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(st[i][j]=='*'){a[i][j]=-1;continue;}
for(int x=1;x<=8;x++)
{
int xx=i+fx[x];
int yy=j+fy[x];
if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&st[xx][yy]=='*')a[i][j]++;
}
}
}
printf("Field #%d:\n",hh);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i][j]==-1)printf("*");
else printf("%d",a[i][j]);
}
printf("\n");
}
printf("\n");
}
}