У меня есть массив из четырех элементов на основе 1, который мне нужно пройти. Для заданного индекса в массиве мне нужно определить индекс следующего элемента и индекс предыдущего элемента. Это звучит просто, но массив нужно обернуть вокруг. Поэтому, когда вы находитесь в начале массива, предыдущий элемент считается последним элементом. Аналогично, если вы находитесь в конце массива, следующим элементом считается первый элемент.
Я понимаю, что это можно решить с помощью условных выражений, но мне было интересно, возможно ли это сделать с помощью математических уравнений. У меня есть один, который хорошо работает для следующего элемента
NextItem = Modulus(CurrentItem, 4) + 1
(функция модуля возвращает остаток от одного числа, деленного на другое).
У кого-нибудь есть идеи относительно того, как я могу обработать предыдущий элемент?