讨论 / 什么鬼题!!!!!!!!!!!
XXXlx 2011-10-29 17:40:00
点我顶贴 收藏 删除
又不给在矩阵最后一行换行,又要把两个矩阵分隔开

到底怎么弄!!

能不处理\n问题吗?

#1 XXXlx@2011-10-29 17:40:00
回复 删除
#include<iostream>

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

using namespace std;

char a[101][101],d[101];

int L,sum;

int n,m,p[8][2]={{0,1},{0,-1},{1,0},{-1,0},{-1,1},{-1,-1},{1,-1},{1,1}};

int main(){

freopen("rq484.in","r",stdin);

freopen("rq484.out","w",stdout);

int i,j,di,dj,k;L=0;

while(1){

scanf("%d %d",&n,&m);

L++;

if(n==0&&m==0)break;

for(i=1;i<=n;i++){

scanf("%s",d+1);

for(j=1;j<=m;j++){

a[i][j]=d[j];

}

}

for(i=1;i<=n;i++){

for(j=1;j<=m;j++){

sum=0;

if(a[i][j]=='*')continue;

for(k=0;k<8;k++){

di=i+p[k][0];

dj=j+p[k][1];

if(di>=1&&di<=n&&dj>=1&&dj<=m){

if(a[di][dj]=='*')sum++;

}

}

a[i][j]=sum+'0';

}

}

printf("Field #%d:\n",L);

for(i=1;i<n;i++){

for(j=1;j<=m;j++){

printf("%c",a[i][j]);

}

printf("\n");

}

i=n;

for(j=1;j<=m;j++)printf("%c",a[i][j]);

printf("\n");

printf("\n");

}

return 0;

}

查看更多回复
提交回复