您的位置:首页 > 其它

第十八周实验报告(二):二维数组的操作

2012-02-27 19:24 148 查看
 第十八周实验报告(二):二维数组的操作

(2011-12-23 20:03:49)[编辑][删除]


转载▼

标签:

杂谈

分类:
公共博文
实验目的:学会二维数组的操作

实验内容:二维数组的操作

* 程序头部注释开始

* 程序的版权和版本声明部分

* Copyright (c)

* All rights reserved.

* 文件名称:二维数组的操作                            

* 作    者:      李君凯        

* 完成日期:2011 年 12 月 23日

* 版本号:x1.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++)

   cout<<a[i][j]<<'\t';

  cout<<endl;

 }

 cout<<endl;

 return;

}

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;

 cout<<endl;

 return;

}

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) && (i <= 7) && (j >= 0) && (j <= 7) && !((i == x ) && (j == y)))

   {

    cout<<a[i][j]<<' ';

    sum+=a[i][j];

   }

  }

 }

 cout<<"这些数的和是:"<<sum<<endl<<endl;

 return;

}

 

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;

}





 

经验积累:二维数组与数组的概念要理解清楚,以前学过的知识也要灵活应用。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  任务 null c