第14周项目5 体会棋盘游戏中的数据存储

来源:互联网 发布:斯普特尼克恋人 知乎 编辑:程序博客网 时间:2024/06/09 15:22
/*      *Copyright (c)2014,烟台大学计算机与控制工程学院      *All rights reserved.      *文件名称:gcd.cpp      *作    者:惠睿      *完成日期:2014年11月30日      *版 本 号:v1.0      *      *问题描述:体会棋盘游戏中的数据存储。*程序输出:输出数组。*/ #include  <iostream>#include <ctime>#include <cstdlib>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);    cout<<"按规则改变后的数组值为:"<<endl;    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()%50+1;     return;}void out(int a[8][8]){    int i,j;        cout<<"按行序输出的二维数组为:"<<endl;    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]<<'\t';     cout<<endl;    cout<<"从右上到左下对角线上的元素的值为:"<<endl;    for(i=0; i<8; i++)        cout<<a[i][7-i]<<'\t';       cout<<endl;    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) && (i <= 7) && (j >= 0) && (j <= 7)&& !((i == x ) && (j == y)))             {                cout<<a[i][j]<<'\t';                sum+=a[i][j];            }        }    }    cout<<endl<<"这些数的和是:"<<sum<<endl<<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;}


运行结果:

学习心得:被虐死了!!!

0 0
原创粉丝点击