задача о массивах
допустим, есть int переменная e, int переменные s1 и s2, а также float переменные m и m_
в результате некоторого алгоритма выбираются значения для s1 и s2. Это могут быть числа от 0 до 3. Далее идет некий "алгоритм" выбора значений для s1 и s2, которым присваиваются значения, например, s1=0,s2=1. Затем выбирается значение для e. Оно с равной долей вероятности может быть равно или s1, или s2. для s1 и s2 ставится в соответствие некоторое значение из int массива arr, если e = s1, или из int массива arr_ если e=s2. Возможно ли "вывести" закон изменения для индекса массивов arr,arr_ в зависимости от s1,s2 и e, чтобы затем переменным m и m_ присвоить значения ячеек с соотв. индексом? Понимаю, объяснил ужасно, вот еще в помощь соответствия s1 и s2, и массивов s1 <-> s2 (arr[i],arr[i+1]) | (arr_[i],arr_[i+1]) s1 <-> s2 (arr[i+2],arr[i+3]) | (arr_[i+2],arr_[i+3]) ... s1 <-> s2 (arr[i + k], arr[i+k+1]) | (arr_[i+k],arr[i+k+1]) т.е. для каждого соответствия s1 и s2 (например 0 - 1, 0 - 2 и т.д.) есть свое соответствие элементов массива. если e = s1, то значение m = arr[i], значение m_ = arr[i+1] и так до последнего соответствия s1 и s2. Если e = s2, то m=arr_[i], а m_=arr_[i+1]. И, будто всего этого было мало, соответствия "читаются" с двух сторон, т.е. получается, что 1 <-> 0 то же самое, что 0 <-> 1. Получается, что задача состоит в том, чтобы в конце можно было присвоить значениям m и m_ значения элементов соотв. массивов, индексы которых зависят от s1, s2 и e. Всего получается десять соответствий: 0 <-> 0 0 <-> 1 0 <-> 2 0 <-> 3 1 <-> 1 1 <-> 2 1 <-> 3 2 <-> 2 2 <-> 3 3 <-> 3 И как же эту задачу решить? |
Ответ: задача о массивах
Эта задача пришла мне в голову при разработке моей игры :)
|
Ответ: задача о массивах
э ?
Код:
for(i = 0, i <= n; ++i) // n должно быть <= количеству битов в типе данных для e и s1, те 32 бита для инта |
Ответ: задача о массивах
if (e == s1)
i = 2*s1 else i = 2*s2 :crazy: |
Ответ: задача о массивах
интересно, попробую!
|
Часовой пояс GMT +4, время: 10:15. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot