第18周实验报告2

来源:互联网 发布:windows开发包括什么 编辑:程序博客网 时间:2024/05/16 19:01
第18周报告2:二维数组实验目的:学会二维数组的操作实验内容:二维数组的操作* 程序头部注释开始* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生* Copyright (c) 2011, 烟台大学计算机学院学生* All rights reserved.* 文件名称:                            * 作    者:         臧鹏        * 完成日期:  2011 年 12 月 23 日* 版 本 号:        * 对任务及求解方法的描述部分* 输入描述:由程序产生随机数作为初始值* 问题描述:……* 程序输出:……* 程序头部的注释结束  #include  <iostream>#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); 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++) {  for(j=0;j<8;j++)  {   cout<<a[i][j]<<'\t';  }  cout<<endl; }}void outDiagonal(int a[8][8]){ int i; cout<<"出从左上到右下对角线上的元素的值为:"<<endl;    for(i=0;i<8;i++) {      cout<<a[i][i]<<' ';      } cout<<endl;     cout<<"出右上到左下对角线上的元素的值为:"<<endl;     for(i=0;i<8;i++)  {        cout<<a[i][7-i]<<' ';  }  cout<<endl; }void mine(int a[8][8],int x, int y){ int i,j,sum=0; cout<<"a["<<x<<"]["<<y<<"]周围的数是:"<<endl; for(i=x-1;i<=x+1;i++) {  for(j=y-1;j<=y+1;j++)  {   if((i>=0)&&(j>=0)&&(i<=7)&&(j<=7)&&!((i==x)&&(j==y)))   {     cout<<a[i][j]<<'\t';     sum+=a[i][j];   }  } } cout<<endl; cout<<"这些数的和是"<<sum<<endl; cout<<endl;}void change(int a[8][8]){   int i,j;   for(i=1;i<8;i++)   {      for(j=0;j<8;j++)         a[i][j]=a[i-1][j]+a[i-1][(j+1)%8];   }    return;  } 

原创粉丝点击