第18周报告2:二维数组

来源:互联网 发布:网络安全设备实施方案 编辑:程序博客网 时间:2024/05/22 14:04
第18周报告2:二维数组
实验目的:学会二维数组的操作
实验内容:二维数组的操作

* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者:
* 完成日期: 2011 年 12 月
* 版 本号:

* 对任务及求解方法的描述部分
* 输入描述:由程序产生随机数作为初始值
* 问题描述:……
* 程序输出:……
* 程序头部的注释结束

#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:二维数组
原创粉丝点击