雷を掃く

3047 ワード

/*
*            :
*Copyright(c)2013,           
*All rights reserved.
*    :
*  :   
*    :2013  12 12 
*   :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);
    out(a);
    return 0;
}
void setdata(int a[8][8])
{
    int i,j;
    srand(time(0));//        “  ”,             
    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])
{
    cout<<"         :
"; int i,n; for(i=0; i<8; i++) { for(n=0; n<8; n++) { cout<<a[i][n]<<'\t'; } cout<<endl; } return; } // ( 、 ) void outDiagonal(int a[8][8]) { int i,n; cout<<" :"; for(i=0; i<8; i++) { cout<<a[i][i]<<'\t'; } cout<<endl; cout<<" :"; for(n=7; n>=0; n--) { cout<<a[7-n][n]<<'\t'; } cout<<endl; return; } // , a[x][y] 8 void mine(int a[8][8],int x, int y) { int i,n; cout<<" a["<<x<<"]["<<y<<"] 8 :"; for(i=x-1; i<=x+1; i++) { for(n=y-1; n<=y+1; n++) if(i>=0&&i<=7&&n>=0&&n<=7) { if(i!=x&&n!=y) { cout<<a[i][n]<<'\t'; } } } cout<<endl; return; } // void change(int a[8][8]) { int i,n; for(i=1; i<8; i++) { for(n=0; n<8; n++) { if(n==7) { a[i][n]=a[i-1][n]+a[i-1][0]; } else { a[i][n]=a[i-1][n]+a[i-1][n+1]; } } } return; }

 
成果展示: