/*
*檔名稱 :mian.cpp
*作 者 :韓娟
*完成日期 :2023年12月1日
*版 本 號 :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]); //按要求改變量值
int main()
void setdata(int a[8][8])
//按行序優先輸出陣列
void out(int a[8][8])
{ int i,j;
cout<
cout<=0)&&(i<=7)&&(j>=0)&&(j<=7)&&!((i==x)&&(j==y)))
{cout<
知識點總結 :
寫這個的時候千萬不能忘了開頭的檔名#include ,不然那個隨機函式沒有辦法呼叫,然後就是一些for語句的使用,寫的時候真的難。
學習心得 :
這個程式寫的時候真的感到有些無力,參考的寫都覺得累,程式設計師加油吧!
第十四周專案五 體會棋盤遊戲中的資料儲存
檔名稱 test.cpp 完成日期 2014年11月30日 版本號 v1.0 問題描述 體會棋盤遊戲中的資料儲存 程式輸入 無 程式輸出 各種處理 include include include using namespace std void setdata int a 8 8 設定隨機數 voi...
第十四周專案五 體會棋盤遊戲中的資料儲存
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...
第十四周專案三
問題及 all right reserved.檔名稱 是否二叉排序樹.cpp 版本號 v1.0 問題描述 設計乙個演算法,判斷給定的二叉樹是否是二叉排序樹。輸入描述 用二叉樹的形式輸入數字 程式輸出 判斷結果 include include define maxsize 100 typedef in...