一個二維矩陣上有三種生命形式,別離為石頭、鉸剪、布,天天上下擺布相鄰的分歧生命形式會發生戰斗,石頭必定打敗鉸剪,鉸剪必定打敗布,布必定打敗石頭,每一天竣事后,勝利者會占領掉敗者的領地。
此刻要求輸出day天后矩陣各元素的值,若何用C++實現這一運算呢?小編與大師分享編程經驗。
輸入數據時,第1行為三個正整數row、list、day,暗示矩陣的行數、列數,以及所用的天數,每個整數都不跨越100。接下來輸入row行、list列的字符,字符只能是R、S、P,暗示石頭、鉸剪和布。
輸出數據時,輸出顛末day天后矩陣各元素的值,每個元素只能是R、S、P。
起首,界說一個常量,節制矩陣數組的長度。
界說6個整型變量,實現法式的運算。
接著,界說兩個字符型數組,保留矩陣中的各元素值,以及計較時用到的姑且數組。
界說兩個整型數組,保留相鄰元素的相對位置。
輸入三個整數,保留在變量row、list、day中。
讀入矩陣中各元素的值,保留在數組world和temp中。
用while輪回節制矩陣天天的轉變,前提為day。
用兩重for輪回節制矩陣的轉變,
先計較矩陣中的元素值為R的環境,用if語句判定。
當元素的值為R時,若是四周相鄰元素有一個值為P,則該元素的值變為P。
若是元素的值為S,繼續按照四周元素,計較元素的轉變。
當元素為S時,若是四周有元素的值為R,則元素變為R。
若是元素的值為P,判定它四周有無元素S,若是有則元素值變為S。
將二維數組world中的值,替代為一天竣事后元素的轉變值。
天數削減一天,保留在變量day中。
最后,輸出day天竣事后,矩陣中所有元素的值。
運行法式,輸入矩陣的行數、列數、天數,輸入每個矩陣的值后,電腦就管帳算出矩陣元素轉變后的值。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!