扫雷
来源:互联网 发布:linux samba 添加用户 编辑:程序博客网 时间:2024/05/02 02:09
/**程序的版权和版本声明部分:*Copyright(c)2013,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:曹昕卓*完成日期:2013年 12月12日*版本号:v1.0*对任务及求解方法的描述部分:*输入描述: 无*问题描述:*程序输出:...*问题分析:*算法设计:*/#include <iostream>#include <ctime>#include <cstdlib>using namespace std;void setdata(int a[8][8]); //设置随机数void out(int a[8][8]);//输出数组void outDiagonal(int a[8][8]); //输出对角线元素的值void mine(int a[8][8],int x, int y);//按“扫雷”游戏的规则输出相邻格子void change(int a[8][8]); //按要求改变数值int main(){ int a[8][8],x,y; setdata(a); out(a); outDiagonal(a); cout<<"输入一个位置:"; cin>>x>>y; mine(a,x,y); change(a); out(a); return 0;}void setdata(int a[8][8]){ int i,j; srand(time(0));//需要用当前时间作“种子”,以便每次运行取得的序列不同 for(i=0; i<8; i++) for(j=0; j<8; j++) a[i][j]=rand()%50+1; return;}//按行序优先输出数组void out(int a[8][8]){ cout<<"按行序优先输出数组:\n"; int i,n; for(i=0; i<8; i++) { for(n=0; n<8; n++) { cout<<a[i][n]<<'\t'; } cout<<endl; } return;}//输出对角线元素的值(从左上到右下、从右上到左下)void outDiagonal(int a[8][8]){ int i,n; cout<<"从左上到右下:"; for(i=0; i<8; i++) { cout<<a[i][i]<<'\t'; } cout<<endl; cout<<"从右上到左下:"; for(n=7; n>=0; n--) { cout<<a[7-n][n]<<'\t'; } cout<<endl; return;}//按扫雷游戏规则,输出a[x][y]周围的8个数字void mine(int a[8][8],int x, int y){ int i,n; cout<<"输出a["<<x<<"]["<<y<<"]周围的8个数字:"; for(i=x-1; i<=x+1; i++) { for(n=y-1; n<=y+1; n++) if(i>=0&&i<=7&&n>=0&&n<=7) { if(i!=x&&n!=y) { cout<<a[i][n]<<'\t'; } } } cout<<endl; return;}//按题目中所言规则更改元素的值void change(int a[8][8]){ int i,n; for(i=1; i<8; i++) { for(n=0; n<8; n++) { if(n==7) { a[i][n]=a[i-1][n]+a[i-1][0]; } else { a[i][n]=a[i-1][n]+a[i-1][n+1]; } } } return;}
成果展示:
0 0
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 扫雷
- 语音识别
- 视频处理控件TVideoGrabber如何并行处理多摄像头
- 栈的应用--表达式计算&中缀转后缀
- 最简单有效的处理方法解决安装SQL Server2005时出现COM+的警告
- 断点续传的实例
- 扫雷
- CS0234: 命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Pager”(是否缺少程序集引用?)
- 什么是直方图?
- 使用VLC进行RTSP到TS的转码
- js 几个常识
- 基于面向对象(OO)的数据库设计模式探讨 第 1 部分
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- oracle事务特性
- 【Java网络编程】UDP协议实例——简单的在线聊天程序