我需要编写一个函数,该函数将一个整数作为参数,该整数表示真值表中的一行,以及一个布尔数组,其中存储真值表中该行的值。
这是一个示例真值表
Row| A | B | C |
1 | T | T | T |
2 | T | T | F |
3 | T | F | T |
4 | T | F | F |
5 | F | T | T |
6 | F | T | F |
7 | F | F | T |
8 | F | F | F |
请注意,给定的真值表的行数可能比该表多或少,因为可能变量的数量可能会发生变化。
函数原型可能如下所示
getRow(int rowNum, bool boolArr[]);
例如,如果调用此函数
getRow(3, boolArr[])
它需要返回一个包含以下元素的数组
|1|0|1| (or |T|F|T|)
对我来说困难是因为变量的数量可以改变,因此增加或减少行数。例如,变量列表可以是 A、B、C、D、E 和 F,而不仅仅是 A、B 和 C。
我认为最好的解决方案是编写一个计数到行号的循环,并从本质上改变数组的元素,就像它以二进制计数一样。以便
1st loop iteration, array elements are 0|0|...|0|1|
2nd loop iteration, array elements are 0|0|...|1|0|
我一生都无法弄清楚如何做到这一点,也无法在网络上的其他地方找到解决方案。抱歉所有的困惑,感谢您的帮助