50pts求助
查看原帖
50pts求助
1485479
xkw123456楼主2025/1/17 17:55

大佬来看一下我这个代码哪里错了???

#include<iostream>
#include<string.h>
using namespace std;
int n,m,sum = 0;
int a[100][100];
char s[100];
int main(){
	scanf("%d%d",&n,&m);
	memset(a,0,sizeof(a));
	for (int j = 1;j <= n;j++){
		scanf("%s",s + 1);
		for (int k = 1;k <= m;k++)	
			a[j][k] = s[k];
	}
	for (int i = 1;i <= n;i++)
		for (int j = 1;j <= m;j++)	
			if (a[i][j] == '?'){
				if (a[i - 1][j] == '*')
					sum++;
				if (a[i + 1][j] == '*')
					sum++;
				if (a[i][j + 1] == '*')
					sum++;
				if (a[i][j - 1] == '*')
					sum++;
				if (a[i + 1][j + 1] == '*')
					sum++;
				if (a[i - 1][j - 1] == '*')
					sum++;
				if (a[i - 1][j + 1] == '*')
					sum++;
				if (a[i + 1][j - 1] == '*')
					sum++;
				a[i][j] = sum;
				sum = 0;	
			}
	for (int j = 1;j <= n;j++){
		for (int k = 1;k <= m;k++)
			if (a[j][k] == '*')
				printf("*");
			else 
				printf("%d",a[j][k]);
		puts("");
	}
	return 0;
}
2025/1/17 17:55
加载中...