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

布雷,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模拟“地雷游戏”...的网友还看了以下:

书面表达教导处写出一则通知,其主要内容如下:学校定于7月6日上午8点召开全校师生大会。会上将由雷锋  2020-05-13 …

布雷顿森体系的形成和主要内容是什么?  2020-06-27 …

某班团支部书要向全班同学口头传达一个会议通知,其主要内容如下:学校定于6月5日下午8时召开全校师生大  2020-11-04 …

以“奉献、友爱、互助、进步”为主要内容的志愿精神与雷锋精神一脉相承,是学习雷锋精神在社会主义市场经济  2020-11-13 …

傅雷家书10篇主要内容概括傅雷家书主要内容概括,要10篇..200字左右,有的同学请回答!  2020-11-13 …

3月25日,全国第一个以弘扬雷锋精神,践行社会主义核心价值观为主要内容的专业电视频道--抚顺广播电视  2020-11-14 …

《紫藤萝瀑布》的主要内容是什么?问题详见下面.请全部答完.1、《紫藤萝瀑布》的主要内容是什么?(一句  2020-11-27 …

《新京报》消息:“上海交大研究生雷闯,根据《政府信息公开条例》,向中央53个部门提出申请,要求公布部  2020-11-28 …

下列不属于布雷顿森林体系的主要内容的是A.美元与黄金直接挂钩B.国际货币基金组织会员国的货币与美元挂  2020-12-10 …

以美元为主导的国际货币金融体系建立过程:①布雷顿森林会议:年夏召开。主要内容是:通过《》及附件,决定  2021-01-08 …