問題及**:
/*
*檔名稱:numbers.cpp
*作 者:單昕昕
*完成日期:2023年11月29日
*版 本 號:v1.0
* *問題描述:定義乙個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(48+2) 27(2+25) 41 30 33 63 60 64(16+48),a[2]行依次為77 68…114。
*程式輸出:按題目要求輸出。
*/
#include #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]); //按要求改變量值
知識點總結:
體會棋盤遊戲中的資料儲存。
學會引入隨機數。
對隨機數組進行大折騰。
學習心得:
第四個要求情況比較複雜。
我是先在紙上寫寫畫畫,列出各種情況才寫出來的~
第14周專案5 體會棋盤遊戲中的資料儲存
檔名稱 test.cpp 作 者 劉暢 完成日期 2014 年 11 月 30 日 版 本 號 v1.0 問題描述 定義乙個8行8列的二維陣列a 8 8 按照要求完成專案 輸入描述 輸入乙個位置 程式輸出 輸出陣列 對角線元素的值 輸出相鄰的格仔,輸出改變後的值 學習心得 這個專案將本週oj上的兩個...
第14周 專案5 體會棋盤遊戲中的資料儲存
檔名稱 test.cpp 作 者 呼亞萍 完成日期 2014年 11 月 30日 版 本 號 v1.0 問題描述 體會棋盤遊戲 輸入描述 相應的程式 程式輸出 遊戲結果 include include include using namespace std void setdata int a 8 ...
第14周專案5 體會棋盤遊戲中的資料儲存
檔名稱 annpion.cpp 完成日期 2014年12月1日 版本號 v1.0 問題描述 體會棋盤遊戲中的資料儲存。輸入描述 輸入50以內的隨機數填入二維陣列a 8 8 中,輸入乙個二維陣列位置。程式輸出 輸出二位陣列中的資料,對角線資料,二維陣列位置周圍的8個元素,改變後的陣列資料 includ...