#include<stdio.h>
#include<string.h>
int X[8]= {1,1,0,-1,-1,-1,0,1};
int Y[8]= {0,1,1,1,0,-1,-1,-1};
int main()
{
char mat[101][101];
int R,C,i,j,k,x,y,count=0,count1=0;
while(scanf("%d%d",&R,&C)&&R&&C)
{
count++;
memset(mat,'0',sizeof(mat));
for(i=0; i<R; i++)
{
getchar();
for(j=0; j<C; j++)
{
scanf("%c",&mat[i][j]);
}
}
for(i=0; i<R; i++)
{
for(j=0; j<C; j++)
{
if(mat[i][j]=='.')
{
mat[i][j]='0';
}
}
}
for(i=0; i<R; i++)
{
for(j=0; j<C; j++)
{
if(mat[i][j]=='*')
{
for(k=0; k<8; k++)
{
x=i+X[k];
y=j+Y[k];
if((x>=0&&x<R)&&(y>=0&&y<C))
{
if(mat[x][y]!='*')
{
mat[x][y]=(mat[x][y])+1;
}
}
}
}
}
}
if(count1==1)
{
printf("\n");
}
count1=1;
printf("Field #%d:\n",count);
for(i=0; i<R; i++)
{
for(j=0; j<C; j++)
{
printf("%c",mat[i][j]);
}
printf("\n");
}
}
return 0;
}
#include<string.h>
int X[8]= {1,1,0,-1,-1,-1,0,1};
int Y[8]= {0,1,1,1,0,-1,-1,-1};
int main()
{
char mat[101][101];
int R,C,i,j,k,x,y,count=0,count1=0;
while(scanf("%d%d",&R,&C)&&R&&C)
{
count++;
memset(mat,'0',sizeof(mat));
for(i=0; i<R; i++)
{
getchar();
for(j=0; j<C; j++)
{
scanf("%c",&mat[i][j]);
}
}
for(i=0; i<R; i++)
{
for(j=0; j<C; j++)
{
if(mat[i][j]=='.')
{
mat[i][j]='0';
}
}
}
for(i=0; i<R; i++)
{
for(j=0; j<C; j++)
{
if(mat[i][j]=='*')
{
for(k=0; k<8; k++)
{
x=i+X[k];
y=j+Y[k];
if((x>=0&&x<R)&&(y>=0&&y<C))
{
if(mat[x][y]!='*')
{
mat[x][y]=(mat[x][y])+1;
}
}
}
}
}
}
if(count1==1)
{
printf("\n");
}
count1=1;
printf("Field #%d:\n",count);
for(i=0; i<R; i++)
{
for(j=0; j<C; j++)
{
printf("%c",mat[i][j]);
}
printf("\n");
}
}
return 0;
}
0 comments: (+add yours?)
Post a Comment