循环数组公式用于迭代月份

时间:2014-07-07 13:51:00

标签: c++ circular-reference

目前我发现使用( starting index + size of array + 1 ) % size of array将使我能够将圆形数组从0索引到N(数组大小为1)。

目前我正在使用它从特定月份(即6 = 7月)循环months。但问题是这种方法也打印0,这不是正确月份(1 - 12)的一部分。我知道我可以用if else语句来做到这一点但是如果可能的话我只想修改( starting index + size of array + 1 ) % size of array公式以适应我的需要(如果可能的话)。

3 个答案:

答案 0 :(得分:1)

怎么样:

starting index % size of array + 1

答案 1 :(得分:1)

如果你说6 = July那么0 = January和0似乎很可能是一个完全有效的值。

如果你想说7 = July,那么我实际上建议你简单地使你的数组​​索引从0到11而不是1-12。当在与用户和内部接口之间进行切换时,您将在零和一个基于索引之间进行转换。

答案 2 :(得分:0)

如果你有一个增量变量i并且你做了i % N之类的事情,你会得到从0到N-1的循环值:0,1,2,...,(N -1),0,1,2,...,(N-1)

因此,如果您想从1开始,则必须为该结果添加1:

(i % N) + 1