我想检查2d向量的某个元素是否在索引范围内。例如,我有以下向量:
{1, 2, 3, 4, 5,
6, 7, 8, 9, 10,
11, 12, 13, 14, 15}
如何检查元素编号7(或[1][1]
)在x
轴上的索引范围是0到2,还是在y
的索引范围是0到1?轴?或者换句话说,向量的3x2
分区从左上角开始。
答案 0 :(得分:2)
对于y轴,您可以这样操作:
index/width < yLimit
对于x轴,就像这样:
index%width < xLimit
其中width
是2d数组的宽度,而xLimit
和yLimit
是您希望x轴编号和y轴编号分别为最大值。 / p>
请注意,无论如何此数字都应大于或等于0,因为在C ++中负数不是问题。
还要注意,我在这里使用<
,但是如果您想在可能的索引中包括1
或2
,我建议您使用<=
。 / p>
如果您希望它们在一起,那么逻辑and
会很好:
index/width < yLimit && index%width < xLimit