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

布雷,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 …

布雷,m*n模拟“地雷游戏”。在M*N的方格中,随机布上dn个“地雷”,按M行N列输出各格子的数(  2020-05-17 …

传统的雷达天线依靠转动天线来搜索空中各个方向的目标,这严重影响了搜索的速度.现代的“雷达”是“相位  2020-05-24 …

寻找一部科幻电影男主角是金色头发电影内容:一个金色头发的年轻太空旅行者来到一个星球上,星球上的统治  2020-06-09 …

英语翻译中国人有“龙的传人”之称.受到中国人广泛喜爱的龙到底是什么样子的呢?按一般的说法,龙是一种  2020-07-11 …

傅雷家书两则..第一封信中,傅雷写了几层意思?第二封信中,1、儿子来信告诉傅雷一件什么事?傅雷的情  2020-07-11 …

关于C语言的学生作业问题1.编程序模拟“地雷游戏”。在9×9的方格中,随机布上10个“地雷”,按9  2020-07-22 …

传统的雷达天线依靠转动天线来搜索空中各个方向的目标,这严重影响了搜索的速度.现代的“雷达”是“相位  2020-07-30 …

打雷时,我们都会知道空气中会产生大量的负离子,可以让人感到兴奋,但大量负离子会不会再形成电被人感觉到  2020-11-03 …

传统的雷达天线依靠转动天线来搜索空中各个方向的目标,这严重影响了搜索的速度.现代的“雷达”是“相位控  2020-12-05 …