实验目的:学会二维数组的操作
实验内容:二维数组的操作
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作
* 完成日期:
* 版本号:
* 对任务及求解方法的描述部分
* 输入描述:由程序产生随机数作为初始值
* 问题描述:……
* 程序输出:……
* 程序头部的注释结束
#include <iostream> #include <iomanip> #include <time.h> 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); cout<<endl; cout<<endl; change(a); out(a); return 0; } void setdata(int a[8][8]) { int i,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]) { int i,j; for(i=0;i<8;i++) { cout<<" "; for(j=0;j<8;j++) { cout<<setiosflags(ios::left)<<a[i][j]<<" "; } cout<<endl; } } void outDiagonal(int a[8][8]) { int i,j; for(i=j=0;i<8&&j<8;i++,j++) { cout<<" "; cout<<a[i][j]<<endl; } } void mine(int a[8][8],int x, int y) { cout<<a[x][y]<<endl; int i,j; i=x-1; j=y-1; for(i;i<=x+1;i++) { j=y-1; for(j;j<=y+1;j++) { cout<<a[i][j]<<" "; } } } void change(int a[8][8]) { int i=1,j=0; for(i;i<8;i++) { for(j=0;j<8;j++) { if(j<7) { a[i][j]=a[i-1][j]+a[i-1][j+1]; } else if(j==7) { a[i][j]=a[i-1][j]+a[i-1][0]; } } } }