0
已解决
吕梓瑜
初级天翼
初级天翼
1425扫雷游戏咋写啊,我卡住惹
卡住的代码:
#include<bits/stdc++.h>
#include<algorithm>
#include<iostream>
#include<iomanip>
#include<cstring>
#include<string>
#include<cstdio>
#include<cmath>
using namespace std;
char a[110][110],dir[8][2]={{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
ios::sync_with_stdio(false);
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]=='?'){
for(int k=0;k<8;k++){
i+dir[k][0],j+dir[k][1];
}
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
//fclose(stdin);
//fclose(stdout);
return 0;
}
有谁能告诉我咋写啊!(不是要完整代码!)
能否要求各位大佬这么回答呢:
就是发伪代码~
拜托了~
@各位大佬~(李显晨同学,我的艾特出问题了,没办法艾特你!不是不艾特你!)
吕梓瑜在2021-10-23 16:57:07追加了内容
@李显晨
0
已采纳
李显晨
中级启示者
中级启示者
主函数:
cin>>n>>m;
循环(int i=1;i<=n;i++){
循环(int j=1;j<=m;j++){
cin>>s[i][j];
}
}
循环(int i=1;i<=n;i++){
循环(int j=1;j<=m;j++){
if(s[i][j]=='*') cout<<s[i][j];
if(s[i][j]=='?'){
if(s[i-1][j-1]=='*') cnt++;
if(s[i-1][j]=='*') cnt++;
if(s[i-1][j+1]=='*') cnt++;
if(s[i][j-1]=='*') cnt++;
if(s[i][j+1]=='*') cnt++;
if(s[i+1][j-1]=='*') cnt++;
if(s[i+1][j]=='*') cnt++;
if(s[i+1][j+1]=='*') cnt++;
cout<<cnt;
cnt=0;
}
}
cout<<endl;
}
全局:
char s[101][101];
int cnt,n,m;
0
李锦昊
中级天翼
中级天翼
**办法
for(int i=2;i<=n+1;i++){
for(int j=2;j<=m+1;j++){
if(a[i][j]=='?'){
cnt=0;
if(a[i-1][j-1]=='*'){
cnt++;
}
if(a[i-1][j]=='*'){
cnt++;
}
if(a[i-1][j+1]=='*'){
cnt++;
}
if(a[i][j-1]=='*'){
cnt++;
}
if(a[i+1][j-1]=='*'){
cnt++;
}
if(a[i+1][j]=='*'){
cnt++;
}
if(a[i+1][j+1]=='*'){
cnt++;
}
if(a[i][j+1]=='*'){
cnt++;
}
cout<<cnt;
}
else{
cout<<a[i][j];
}
}
cout<<endl;
}
0
武奕楷
新手天翼
新手天翼
if(a[i+1][j]=='*') cnt++;
if(a[i-1][j]=='*') cnt++;
if(a[i][j+1]=='*') cnt++;
if(a[i][j-1]=='*') cnt++;
if(a[i+1][j+1]=='*') cnt++;
if(a[i+1][j-1]=='*') cnt++;
if(a[i-1][j+1]=='*') cnt++;
if(a[i-1][j-1]=='*') cnt++;
判断部分
0
张程阳
新手天翼
新手天翼
for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; if(a[i][j]=='*') f[i][j]=1; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(f[i][j]==1) cout<<"*"; else cout<<f[i+1][j+1]+f[i+1][j-1]+f[i-1][j+1]+f[i-1][j-1]+f[i-1][j]+f[i+1][j]+f[i][j+1]+f[i][j-1]+f[i][j]; } cout<<endl; }//核心
0
0
0