第18周报告2--二维数组(基础版)

来源:互联网 发布:iso 8000数据质量标准 编辑:程序博客网 时间:2024/05/04 01:07
 
第18周报告2:二维数组 
实验目的:学会二维数组的操作 
实验内容:二维数组的操作 
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved. 
* 文件名称: 
* 作 者: 雷恒鑫 
* 完成日期: 2011 年 12 月 21 日 
* 版 本 号: V1.0 
* 对任务及求解方法的描述部分 
* 输入描述:由程序产生随机数作为初始值 
* 问题描述:…… 
* 程序输出:…… 
* 程序头部的注释结束
#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++)
  {
   if(j!=8)
   {
    cout<<a[i][j]<<'\t';
   }
   else
    cout<<endl;
  }
  cout<<endl;
  return;
}

 

void outDiagonal(int a[8][8])
{
 int i,j;
 cout<<"对角线元素的值为:"<<endl;
 for (i=0,j=0;i<8;i++,j++)
  cout<<a[i][j]<<'\t';
 cout<<endl;
 for (i=0,j=7;i<8;i++,j--)
  cout<<a[i][j]<<'\t';
 cout<<endl;
 return;
}

 

void mine(int a[8][8],int x, int y)
{
 cout<<"相邻的格子为:"<<endl;
 int m,n,p,q;
 p=x+1;
 q=y+1;
 for (m=x-1;m<=p;m++)
  for (n=y-1;n<=q;n++)
  {
   if ((m==x && n==y) || m<0 || n<0)
   {
    ;
   }
   else
   {
    cout<<a[m][n]<<'\t';
   }
  }
  cout<<endl;
  cout<<endl;
  return;
}

 

void change(int a[8][8])
{
 cout<<"改变数值后的数组元素为:"<<endl;
 int i,j,b[8][8];
 for (i=0;i<1;i++)
  for (j=0;j<8;j++)
   b[i][j]=a[i][j];
 for(i=1;i<8;i++)
  for(j=0;j<8;j++)
  {
   if(j==7)
   {
    b[i][j]=a[i-1][j]+a[i-1][0];
   }
   else
   {
    b[i][j]=a[i-1][j]+a[i-1][j+1];
   }
  }
  for(i=0;i<8;i++)
  {
   for(j=0;j<8;j++)
    cout<<b[i][j]<<'\t';
   cout<<endl;
  }
  return;
}

运行结果:

第18周报告2--二维数组(基础版)

经验积累:

用指针会更方便一些 ,但我忘用了,并且该程序不鲁棒,需改进一下!^_^

上机感言: