我希望创建一个如下所示的程序(c# 顺便说一句):
int[] arr = new int[9]
//some code that puts values 1, 0, or 2 in each array element
for(int i = 0; i < arr.Length; i++)
{
if (arr[i] == arr[i + 3]) { return true; }
}
因此,对于数组中的每个值,我应用一个公式,该公式对该值及其前面的值 3 索引执行某些操作。当然,一旦 i+3>8,就会出现超出范围的异常。
我想做的是,如果所需的索引超出范围,则将索引值循环回数组的开头。因此,在长度为 9 的数组中,最后一个索引为 8,如果在给定的循环中 i = 7,并且 i+3 then = 10,我希望 i+3 通过任何方式“变成”1,并且那么当 i = 8 且 i+3 = 11 时,我希望 i+3 变为 2。
因此,正在评估的索引对将类似于:
我,我+3
0 3
1 4
2 5
3 6
4 7
5 8
6 0
7 1
8 2
我该怎么做呢?
谢谢你的帮助。
像这样使用模运算符:
if (arr[i] == arr[(i + 3) % arr.Length]) { return true; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)