早教吧 育儿知识 作业答案 考试题库 百科 知识分享

布雷,m*n模拟“地雷游戏”。在M*N的方格中,随机布上dn个“地雷”,按M行N列输出各格子的数(有雷为9(或‘*’),无雷为0)。在有相邻地雷的格子内进一步标出相邻地雷数。要求:1)“雷

题目详情
布雷,m*n
模拟“地雷游戏”。在M*N的方格中,随机布上dn个“地雷”,按M行N列输出各格子的数(有雷为9(或‘*’),无雷为0)。在有相邻地雷的格子内进一步标出相邻地雷数。
要求:
1)“雷区”方阵的大小M和N在程序运行过程中通过键盘输入。
2) 地雷的个数dn在程序运行中指定。
3) 地雷的个数dn必须与指定的个数相同。
▼优质解答
答案和解析
// mine-sweeping.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
using namespace std;
void intial(int **data,int m,int n){
int i,j;
for(i=0;i for(j=0;j data[m][n]=0;
}
}
void mine(int **data,int m,int n,int dn){
int i,j,k;
int *mine_num;
mine_num=new int [dn];
for(i=0;i mine_num[i]=(int)(m*n*rand()/(RAND_MAX+1.0));
}
for(k=0;k {
i=mine_num[k]/m;
j=mine_num[k]%n;
data[i][j]=9;
}
for(i=0;i for(j=0;j if(data[i][j]==0){
data[i][j]=(i!=0)&&(j!=0)&&(data[i-1][j-1]==9)+(i!=0)&&(data[i-1][j]==9)+(i!=0)&&(j!=n)&&(data[i-1][j+1]==9)+
(j!=0)&&(data[i][j-1]==9)+(j!=n)&&(data[i][j+1]==9)+
(i!=m)&&(j!=0)&&(data[i+1][j-1]==9)+(i!=m)&&(data[i+1][j]==9)+(i!=m)&&(j!=n)&&(data[i+1][j+1]==9);
}
}
}
void output(int **data,int m,int n){
FILE *fp;
int i,j;
fp=fopen("out.txt","w");
for(i=0;i for(j=0;j fprintf(fp," %d ",data[i][j]);
}
fprintf(fp,"\n");
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int i,m,n,dn;
int **data;
cout< cin>>m>>n;
dn=5;
//new
//data=new int*[m];
//for(i=0;i // data[i]=new int[n];
//}
data=(int**)malloc(sizeof(int*) *m);
for(i=0;i data[i]=(int*)malloc(sizeof(int) *n);
//cal
srand((int)time(0));
intial(data,m,n);
mine(data,m,n,dn);
//output
output(data,m,n);
//delete
for(i=0;i delete data[i];
}
delete data;
return 0;
}
看了 布雷,m*n模拟“地雷游戏”...的网友还看了以下:

小时候玩过一个纸棋游戏,里面第一是龙,第二是其,第三好像是狼还是什么的,各有各的走法,求游戏名及规  2020-05-17 …

雷锋纪念馆观后感,急用!求各位大哥大姐有的快点,参观雷锋纪念馆以后的感想800字以上  2020-06-09 …

同学们,你玩过“扫雷”的游戏吗?在64个方格内一共有10个地雷,每格中至多有一个,对于填有数字的方  2020-07-12 …

(2013•永州一模)电脑系统中有个“扫雷”游戏,要求游戏者标出所有的雷,游戏规则:一个方块下面至多  2020-11-12 …

(2013•永州)电脑系统中有个“扫雷”游戏,要求游戏者标出所有的雷,游戏规则:一个方块下面最多埋一  2020-11-12 …

这是一个挖地雷的游戏,在64个方格中一共有10个地雷,每个方格中至多有一个地雷,对于写有数字的方格,  2020-11-21 …

同学们,你玩过“扫雷”的游戏吗?在64个方格内一共有10个地雷,每格中至多有一个,对于填有数字的方格  2020-11-21 …

abc地雷22如图已经有一个地雷了,2表示与它相邻的8个方格有两个地雷,求a,b,c处有地雷a\x0  2020-11-21 …

如图是小李设计的49方格扫雷游戏,“★”代表地雷(图中显示的地雷在游戏中都是隐藏的),点A可用(2,  2020-11-21 …

给下面这则新闻拟一个标题(不超过15个字)。文化部日前要求各地文化部门查处《毒爱》等四款存在非法内容  2020-12-07 …