多语言展示
当前在线:826今日阅读:60今日分享:41

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

一个二维矩阵上有三种生命形式,分别为石头、剪刀、布,每天上下左右相邻的不同生命形式会发生战斗,石头肯定打败剪刀,剪刀肯定打败布,布肯定打败石头,每一天结束后,胜利者会占领失败者的领地。现在要求输出day天后矩阵各元素的值,如何用C++实现这一运算呢?小编与大家分享编程经验。
工具/原料

C++

方法/步骤
1

输入数据时,第1行为三个正整数row、list、day,表示矩阵的行数、列数,以及所用的天数,每个整数都不超过100。接下来输入row行、list列的字符,字符只能是R、S、P,表示石头、剪刀和布。输出数据时,输出经过day天后矩阵各元素的值,每个元素只能是R、S、P。

2

首先,定义一个常量,控制矩阵数组的长度。

3

定义6个整型变量,实现程序的运算。

4

接着,定义两个字符型数组,保存矩阵中的各元素值,以及计算时用到的临时数组。

5

定义两个整型数组,保存相邻元素的相对位置。

6

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

7

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

8

用while循环控制矩阵每天的变化,条件为day。

9

用两重for循环控制矩阵的变化,

10

先计算矩阵中的元素值为R的情况,用if语句判断。

11

当元素的值为R时,如果周围相邻元素有一个值为P,则该元素的值变为P。

12

如果元素的值为S,继续根据周围元素,计算元素的变化。

13

当元素为S时,如果周围有元素的值为R,则元素变为R。

14

如果元素的值为P,判断它周围有无元素S,如果有则元素值变为S。

15

将二维数组world中的值,替换为一天结束后元素的变化值。

16

天数减少一天,保存在变量day中。

17

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

18

运行程序,输入矩阵的行数、列数、天数,输入每个矩阵的值后,电脑就会计算出矩阵元素变化后的值。

注意事项

作者声明:本篇经验系本人辛勤劳动的原创成果,未经许可,谢绝转载。

推荐信息