第18周报告2----二维数组 (改进版)

本博客介绍了二维数组的基本操作,包括设置随机数、输出数组、输出对角线元素和实现类似扫雷游戏的规则。通过程序头部注释、版权声明等详细描述了任务描述和求解方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第18周报告2:二维数组 
实验目的:学会二维数组的操作 
实验内容:二维数组的操作 
* 程序头部注释开始 
* 程序的版权和版本声明部分 
* Copyright (c) 2011, 烟台大学计算机学院学生 
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved. 
* 文件名称: 
* 作 者: 雷恒鑫 
* 完成日期: 2011 年 12 月 21 日 
* 版 本 号: V1.1
* 对任务及求解方法的描述部分 
* 输入描述:由程序产生随机数作为初始值 
* 问题描述:…… 
* 程序输出:…… 
* 程序头部的注释结束
#include<wbr> &lt;iostream&gt;
#include &lt;time.h&gt;
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&lt;&lt;"输入一个位置:";
<wbr>cin&gt;&gt;x&gt;&gt;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&lt;8;i++)<br><wbr><wbr>for(j=0;j&lt;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>

<wbr></wbr>

void out(int a[8][8])
{
<wbr>int i,j;<br><wbr>for (i=0;i&lt;8;i++)<br><wbr><wbr>for(j=0;j&lt;=8;j++)<br><wbr><wbr>{<br><wbr><wbr><wbr>if(j!=8)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>cout&lt;&lt;a[i][j]&lt;&lt;'\t';<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>else<br><wbr><wbr><wbr><wbr>cout&lt;&lt;endl;<br><wbr><wbr>}<br><wbr><wbr>cout&lt;&lt;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>

void outDiagonal(int a[8][8])
{
<wbr>int i,j;<br><wbr>cout&lt;&lt;"对角线元素的值为:"&lt;&lt;endl;<br><wbr>for (i=0,j=0;i&lt;8;i++,j++)<br><wbr><wbr>cout&lt;&lt;a[i][j]&lt;&lt;'\t';<br><wbr>cout&lt;&lt;endl;<br><wbr>for (i=0,j=7;i&lt;8;i++,j--)<br><wbr><wbr>cout&lt;&lt;a[i][j]&lt;&lt;'\t';<br><wbr>cout&lt;&lt;endl;<br><wbr>return;<br> }</wbr></wbr></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&lt;&lt;"相邻的格子为:"&lt;&lt;endl;<br><wbr>int m,n,p,q;<br><wbr>p=x+1;<br><wbr>q=y+1;<br><wbr>if (x==7||x==0||y==0||y==7)<br><wbr>{<br><wbr><wbr>if(x==0 &amp;&amp; y==0)<br><wbr><wbr>{<br><wbr><wbr><wbr>cout&lt;&lt;a[x][y+1]&lt;&lt;'\t'&lt;&lt;a[x+1][y]&lt;&lt;endl;<br><wbr><wbr>}<br><wbr><wbr>else if (x==0 &amp;&amp; y==7)<br><wbr><wbr>{<br><wbr><wbr><wbr>cout&lt;&lt;a[x][y-1]&lt;&lt;'\t'&lt;&lt;a[x+1][y]&lt;&lt;endl;<br><wbr><wbr>}<br><wbr><wbr>else if (x==7 &amp;&amp; y==0)<br><wbr><wbr>{<br><wbr><wbr><wbr>cout&lt;&lt;a[x-1][y]&lt;&lt;'\t'&lt;&lt;a[x][y+1]&lt;&lt;endl;<br><wbr><wbr>}<br><wbr><wbr>else if (x==7 &amp;&amp; y==7)<br><wbr><wbr>{<br><wbr><wbr><wbr>cout&lt;&lt;a[x][y-1]&lt;&lt;'\t'&lt;&lt;a[x-1][y]&lt;&lt;endl;<br><wbr><wbr>}<br><wbr><wbr>else if (x==0)<br><wbr><wbr>{<br><wbr><wbr><wbr>cout&lt;&lt;a[x][y-1]&lt;&lt;'\t'&lt;&lt;a[x][y+1]&lt;&lt;'\t'&lt;&lt;a[x+1][y]&lt;&lt;endl;<br><wbr><wbr>}<br><wbr><wbr>else if (x==7)<br><wbr><wbr>{<br><wbr><wbr><wbr>cout&lt;&lt;a[x][y-1]&lt;&lt;'\t'&lt;&lt;a[x][y+1]&lt;&lt;'\t'&lt;&lt;a[x-1][y]&lt;&lt;endl;<br><wbr><wbr>}<br><wbr><wbr>else if (y==0)<br><wbr><wbr>{<br><wbr><wbr><wbr>cout&lt;&lt;a[x+1][y]&lt;&lt;'\t'&lt;&lt;a[x-1][y]&lt;&lt;'\t'&lt;&lt;a[x][y+1]&lt;&lt;endl;<br><wbr><wbr>}<br><wbr><wbr>else if (y==7)<br><wbr><wbr>{<br><wbr><wbr><wbr>cout&lt;&lt;a[x+1][y]&lt;&lt;'\t'&lt;&lt;a[x-1][y]&lt;&lt;'\t'&lt;&lt;a[x][y-1]&lt;&lt;endl;<br><wbr><wbr>}<br><wbr>}<br><wbr>else<br><wbr>{<br><wbr><wbr>for (m=x-1;m&lt;=p;m++)<br><wbr><wbr><wbr>for (n=y-1;n&lt;=q;n++)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>if ((m==x &amp;&amp; n==y) || m&lt;0 || n&lt;0)<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>;<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr>else<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>cout&lt;&lt;a[m][n]&lt;&lt;'\t';<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr>}<br><wbr>}<br><wbr>cout&lt;&lt;endl;<br><wbr>cout&lt;&lt;endl;<br><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></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></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&lt;&lt;"改变数值后的数组元素为:"&lt;&lt;endl;<br><wbr>int i,j,(*p)[8];<br><wbr>p=a;</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> //for (i=0;i&lt;1;i++)<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>for (j=0;j&lt;8;j++)<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>b[i][j]=a[i][j];<br><wbr><wbr>for(i=1;i&lt;8;i++)<br><wbr><wbr><wbr>for(j=0;j&lt;8;j++)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>if(j==7)<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>*(*(p+i)+j)=a[i-1][j]+a[i-1][0];<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr>else<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>*(*(p+i)+j)=a[i-1][j]+a[i-1][j+1];<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr>}<br><wbr><wbr><br><wbr><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></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></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>


运行结果:

第18周报告2----二维数组<wbr>(改进版)



经验积累:

上机感言:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值