第18周报告2:二维数组
来源:互联网 发布:网络安全设备实施方案 编辑:程序博客网 时间:2024/05/22 14:04
实验目的:学会二维数组的操作
实验内容:二维数组的操作
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作
* 完成日期:
* 版 本号:
* 对任务及求解方法的描述部分
* 输入描述:由程序产生随机数作为初始值
* 问题描述:……
* 程序输出:……
* 程序头部的注释结束
#include <iostream>
#include <time.h>
#include <iomanip>
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()
{
inta[8][8],x,y;
setdata(a);
out(a);
outDiagonal(a);
cout<<endl<<"输入一个位置:";
cin>>x>>y;
mine(a,x,y);
change(a);
out(a);
return0;
}
void setdata(int a[8][8])
{
inti,j;
srand(time(NULL));//需要用当前时间作"种子",以便每次运行取得的序列不同
for(i=0;i<8;i++)
for(j=0;j<8;j++)
a[i][j]=rand()P+1;
return;
}
void out(int a[8][8])
{
inti,j;
for(i = 0; i < 8 ; i++)
for(j= 0; j < 8; j++)
{
if(j % 8 == 0)
cout<< endl;
cout<< setw(3) << a[i][j]<<" ";
}
cout<< endl;
}
void outDiagonal(int a[8][8])
{
inti = 0, j = 0;
cout<< "对角线数:";
while( i < 8 )
{
while( j < 8 )
{
cout<< a[i][j] << " " ;
j++;
i++;
}
}
}
void mine(int a[8][8],int x, int y)
{
intsum = 0;
if( x != 0 && x != 7 && y != 0 && y != 7)
{
cout<< a[x-1][y-1] << " " << a[x-1][y] << "" << a[x-1][y+1] << endl;
cout<< a[x][y-1] << " " << a[x][y+1] <<endl;
cout<< a[x+1][y-1] << " " << a[x+1][y] << "" << a[x+1][y+1] <<endl;
sum= a[x-1][y-1] + a[x-1][y] + a[x-1][y+1] + a[x][y-1] + a[x][y+1] + a[x+1][y-1] +a[x+1][y] + a[x+1][y+1] ;
}
elseif ( x == 0 && y == 0 )
{
cout<< a[0][1] << " "<< a[1][0] << " "<< a[1][1] << endl ;
sum= a[0][1] + a[1][0] + a[1][1] ;
}
elseif ( x == 0 && y == 7 )
{
cout<< a[0][6] << " " << a[1][6] << " "<< a[1][7] << endl;
sum= a[0][6] + a[1][6] + a[1][7];
}
elseif ( x == 7 && y == 0 )
{
cout<< a[6][0] << " " << a[6][1] << " "<< a[7][1] << endl;
sum= a[6][0] + a[6][1] + a[7][1];
}
elseif ( x == 7 && y ==7 )
{
cout<< a[6][6] << " " << a[6][7] << " "<< a[7][6] << endl;
sum= a[6][6] + a[6][7] + a[7][6];
}
elseif ( y == 0 && x != 0 )
{
cout<< a[x-1][y] << " " << a[x-1][y+1] << "" << a[x][y+1] << " " << a[x+1][y] <<" " << a[x+1][y+1] << endl;
sum= a[x+1][y] + a[x+1][y+1] + a[x][y+1] + a[x+1][y] + a[x+1][y+1] ;
}
elseif ( x == 0 && y != 0)
{
cout<< a[x][y-1] << " " << a[x][y+1] << "" << a[x+1][y-1] << " " << a[x+1][y] <<" " << a[x+1][y+1] << endl;
sum= a[x][y-1] + a[x][y+1] + a[x+1][y-1] + a[x+1][y] + a[x+1][y+1];
}
elseif ( y == 7 && x != 0 )
{
cout<< a[x-1][y-1] << " " << a[x-1][y] << "" << a[x][y-1] << " " << a[x+1][y-1] <<" " << a[x+1][y] << endl;
sum= a[x-1][y-1] + a[x-1][y] + a[x][y-1] + a[x+1][y-1] + a[x+1][y];
}
elseif ( x == 7 && y != 0)
{
cout<< a[x-1][y-1] << " " << a[x-1][y] << "" << a[x-1][y+1] << " " << a[x][y-1] <<" " << a[x][y+1] << endl;
sum= a[x-1][y-1] + a[x-1][y] + a[x-1][y+1] + a[x][y-1] + a[x][y+1] ;
}
cout<< "sum=" << sum << endl;
}
void change(int a[8][8])
{
for(inti=1;i<8;i++)
for(intj=0;j<8;j++)
a[i][j]=a[i-1][j]+a[i-1][(j+1)%8];
}
运行结果:(贴图)
经验积累:
上机感言:
我相信,我做的是最麻烦的,笨没法治~~
- 第18周报告2:二维数组
- 第18周报告2 二维数组
- 第18周报告2:二维数组
- 第18周报告2:二维数组
- 第18周报告2:二维数组
- 第18周报告2:二维数组
- 第18周报告2--二维数组(基础版)
- 第18周报告2----二维数组 (改进版)
- 第18周报告2---二维数组(升级版)
- 第18周报告2---二维数组(完美版)
- 第18周报告2之二维数组
- 第18周报告2:二维数组(失败)
- 第18周报告2
- C++ 第十八周报告2--《二维数组的操作》
- 第15周报告2: 操作字符数组
- 第14周报告2--数组的初步应用
- 第15周报告2--学会操作字符数组
- 第15周报告2: 学会操作字符数组
- __read_mostly变量含义(LINUX)
- javaScript的闭包特性
- java跨平台运行【有关路径获取】
- treeview
- struts-No configuration found for the specified action
- 第18周报告2:二维数组
- 多个PPTP VPN客户机通过LINUX网关连接VPN服务器
- PHP和JAVA中的重载(overload)和覆盖(override)
- Vista及win7开启ad hoc 无线网络
- 10大电子商务创新案例集合
- IDE接口硬盘
- Android应用开发之样式
- poj3624
- 清华计算机PHD报考