矩阵剪刀石头布怎样用C++实现计算

一个二维矩阵上有三种生命形式,别离为石头、铰剪、布,天天上下摆布相邻的分歧生命形式会发生战斗,石头必定打败铰剪,铰剪必定打败布,布必定打败石头,每一天竣事后,胜利者会占领掉败者的领地。

此刻要求输出day天后矩阵各元素的值,如何用C++实现这一运算呢?小编与大师分享编程经验。

工具/原料

  • C++

方式/步骤

  1. 1

    输入数据时,第1行为三个正整数row、list、day,暗示矩阵的行数、列数,以及所用的天数,每个整数都不跨越100。接下来输入row行、list列的字符,字符只能是R、S、P,暗示石头、铰剪和布。

    输出数据时,输出颠末day天后矩阵各元素的值,每个元素只能是R、S、P。

  2. 2

    首先,界说一个常量,节制矩阵数组的长度。

  3. 3

    界说6个整型变量,实现法式的运算。

  4. 4

    接着,界说两个字符型数组,保留矩阵中的各元素值,以及计较时用到的姑且数组。

  5. 5

    界说两个整型数组,保留相邻元素的相对位置。

  6. 6

    输入三个整数,保留在变量row、list、day中。

  7. 7

    读入矩阵中各元素的值,保留在数组world和temp中。

  8. 8

    用while轮回节制矩阵天天的转变,前提为day。

  9. 9

    用两重for轮回节制矩阵的转变,

  10. 10

    先计较矩阵中的元素值为R的环境,用if语句判定。

  11. 11

    当元素的值为R时,若是四周相邻元素有一个值为P,则该元素的值变为P。

  12. 12

    若是元素的值为S,继续按照四周元素,计较元素的转变。

  13. 13

    当元素为S时,若是四周有元素的值为R,则元素变为R。

  14. 14

    若是元素的值为P,判定它四周有无元素S,若是有则元素值变为S。

  15. 15

    将二维数组world中的值,替代为一天竣事后元素的转变值。

  16. 16

    天数削减一天,保留在变量day中。

  17. 17

    最后,输出day天竣事后,矩阵中所有元素的值。

  18. 18

    运行法式,输入矩阵的行数、列数、天数,输入每个矩阵的值后,电脑就管帐算出矩阵元素转变后的值。

  • 发表于 2018-12-06 00:00
  • 阅读 ( 222 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论