如何检查2D向量元素是否在某个索引范围内

时间:2020-03-29 04:56:40

标签: c++ vector

我想检查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分区从左上角开始。

1 个答案:

答案 0 :(得分:2)

对于y轴,您可以这样操作:

index/width < yLimit

对于x轴,就像这样:

index%width < xLimit

其中width是2d数组的宽度,而xLimityLimit是您希望x轴编号和y轴编号分别为最大值。 / p>

请注意,无论如何此数字都应大于或等于0,因为在C ++中负数不是问题。

还要注意,我在这里使用<,但是如果您想在可能的索引中包括12,我建议您使用<=。 / p>

如果您希望它们在一起,那么逻辑and会很好:

index/width < yLimit && index%width < xLimit