第18周报告2:二维数组
实验目的:学会二维数组的操作
实验内容:二维数组的操作
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 雷恒鑫
* 完成日期: 2011 年 12 月 21 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:由程序产生随机数作为初始值
* 问题描述:……
* 程序输出:……
* 程序头部的注释结束
#include<wbr> <iostream>
#include <time.h>
using namespace std;
void setdata(int a[8][8]);<wbr> //设置随机数
void out(int a[8][8]);<wbr><wbr>//输出数组
void outDiagonal(int a[8][8]);<wbr> //输出对角线元素的值
void mine(int a[8][8],int x, int y);<wbr><wbr>//按“扫雷”游戏的规则输出相邻格子
void change(int a[8][8]); <wbr><wbr><wbr><wbr>//按要求改变数值
int main()
{
<wbr>int a[8][8],x,y;
<wbr>setdata(a);
<wbr>out(a);<wbr><wbr>outDiagonal(a);
<wbr>cout<<"输入一个位置:";
<wbr>cin>>x>>y;
<wbr>mine(a,x,y);
<wbr>change(a);
<wbr>//out(a);
<wbr>return 0;
}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
void setdata(int a[8][8])
{
<wbr>int i,j;<br><wbr>srand(time(NULL));//需要用当前时间作“种子”,以便每次运行取得的序列不同<br><wbr>for(i=0;i<8;i++)<br><wbr><wbr>for(j=0;j<8;j++)<br><wbr><wbr><wbr>a[i][j]=rand()P+1;<br><wbr><wbr>return;<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
void out(int a[8][8])
{
<wbr>int i,j;<br><wbr>for (i=0;i<8;i++)<br><wbr><wbr>for(j=0;j<=8;j++)<br><wbr><wbr>{<br><wbr><wbr><wbr>if(j!=8)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>cout<<a[i][j]<<'\t';<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>else<br><wbr><wbr><wbr><wbr>cout<<endl;<br><wbr><wbr>}<br><wbr><wbr>cout<<endl;<br><wbr><wbr>return;<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
void outDiagonal(int a[8][8])
{
<wbr>int i,j;<br><wbr>cout<<"对角线元素的值为:"<<endl;<br><wbr>for (i=0,j=0;i<8;i++,j++)<br><wbr><wbr>cout<<a[i][j]<<'\t';<br><wbr>cout<<endl;<br><wbr>for (i=0,j=7;i<8;i++,j--)<br><wbr><wbr>cout<<a[i][j]<<'\t';<br><wbr>cout<<endl;<br><wbr>return;<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
void mine(int a[8][8],int x, int y)
{
<wbr>cout<<"相邻的格子为:"<<endl;<br><wbr>int m,n,p,q;<br><wbr>p=x+1;<br><wbr>q=y+1;<br><wbr>for (m=x-1;m<=p;m++)<br><wbr><wbr>for (n=y-1;n<=q;n++)<br><wbr><wbr>{<br><wbr><wbr><wbr>if ((m==x && n==y) || m<0 || n<0)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>;<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>else<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>cout<<a[m][n]<<'\t';<br><wbr><wbr><wbr>}<br><wbr><wbr>}<br><wbr><wbr>cout<<endl;<br><wbr><wbr>cout<<endl;<br><wbr><wbr>return;<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
void change(int a[8][8])
{
<wbr>cout<<"改变数值后的数组元素为:"<<endl;<br><wbr>int i,j,b[8][8];<br><wbr>for (i=0;i<1;i++)<br><wbr><wbr>for (j=0;j<8;j++)<br><wbr><wbr><wbr>b[i][j]=a[i][j];<br><wbr>for(i=1;i<8;i++)<br><wbr><wbr>for(j=0;j<8;j++)<br><wbr><wbr>{<br><wbr><wbr><wbr>if(j==7)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>b[i][j]=a[i-1][j]+a[i-1][0];<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>else<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>b[i][j]=a[i-1][j]+a[i-1][j+1];<br><wbr><wbr><wbr>}<br><wbr><wbr>}<br><wbr><wbr>for(i=0;i<8;i++)<br><wbr><wbr>{<br><wbr><wbr><wbr>for(j=0;j<8;j++)<br><wbr><wbr><wbr><wbr>cout<<b[i][j]<<'\t';<br><wbr><wbr><wbr>cout<<endl;<br><wbr><wbr>}<br><wbr><wbr>return;<br> }<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
运行结果:
经验积累:
用指针会更方便一些<wbr>,但我忘用了,并且该程序不鲁棒,需改进一下!^_^</wbr>
上机感言:
本博客介绍了如何使用二维数组进行随机数生成、数组输出、对角线元素输出、扫雷游戏规则输出以及数值改变的程序实现。通过设置随机数、输出数组、输出对角线元素、扫雷游戏规则和改变数值等功能,详细阐述了二维数组在编程实践中的应用,特别关注于游戏逻辑的实现。同时,分享了程序中随机数生成、数组遍历、条件判断等关键技术点,强调了代码的清晰性和实用性。


被折叠的 条评论
为什么被折叠?



