體會棋盤遊戲中的資料儲存

2021-06-27 07:32:05 字數 1406 閱讀 7660

問題及**:

/*

【專案6-體會棋盤遊戲中的資料儲存】

定義乙個8行8列的二維陣列a[8][8]。

(1)為二維陣列中的資料賦50以內的隨機數(程式模板中setdata()函式已經完成,利用產生隨機數的系統函式實現),可能的取值如上圖所示;

(2)設計函式out()按行輸出二維陣列中的資料;

(3)設計函式outdiagonal()輸出從左上到右下對角線上的元素的值,如對圖的資料而言,輸出為48 34 12 31 40 42 34 45;再輸出從右上到左下對角線上的值;

(4)將此陣列視為「掃雷」遊戲的介面(實際上掃雷遊戲的介面一般就用二維陣列儲存其介面),通過鍵盤輸入乙個位置,輸出其周圍八個格仔中的資料,

如輸入2 2時,輸出34 30 47 29 48 14 12 31(注意:一共八個,不包括該位置上的數)(參見圖中的黃色部分),計算這些數的和並輸出。

另外,如果選擇的位置在邊緣或角上時,周圍的格數不夠八個,按實際個數輸出。請用迴圈有規律地列舉出來各個值,不要採用順序結構逐個羅列。這項功能由函式mine()完成。

(5)設計函式change()改變陣列中的值。

改變的規則是:從第2行(即a[1]行)開始到最後一行,每一元素是其正上方元素和右上方元素之和,例如a[1][0]取a[0][0]和a[0][1]之和,a[1][1]取a[0][1]和a[0][2]之和,……。

對各行最後一列元素,其右上方無資料,取上一行中的第乙個元素,如a[1][7]取a[0][7]和a[0][0]之和。對上圖中的資料,a[1]行的  元素將依次為:50 27 41 30 33 63 60 64,a[2]行依次為77 68…114。

*/#include #include 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()

void setdata(int a[8][8])

//按行序優先輸出陣列

void out(int a[8][8])

{ int i,j;

cout<

執行結果:

學習體會:

對二維陣列有了全面的認識。

第十四周專案五 體會棋盤遊戲中的資料儲存

檔名稱 test.cpp 完成日期 2014年11月30日 版本號 v1.0 問題描述 體會棋盤遊戲中的資料儲存 程式輸入 無 程式輸出 各種處理 include include include using namespace std void setdata int a 8 8 設定隨機數 voi...

第十四周專案 5 體會棋盤遊戲中的資料儲存

檔名稱 mian.cpp 作 者 韓娟 完成日期 2014年12月1日 版 本 號 v1.0 問題描述 定義乙個8行8列的二維陣列a 8 8 1 為二維陣列中的資料賦50以內的隨機數 程式模板中setdata 函式已經完成,利用產生隨機數的系統函式實現 可能的取值如圖所示 2 設計函式out 按行輸...

第十四周專案五 體會棋盤遊戲中的資料儲存

include include includeusing 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...