Показать сообщение отдельно
Старый 15.12.2012, 15:42   #1
wppt
Нуждающийся
 
Регистрация: 25.11.2012
Сообщений: 83
Написано 2 полезных сообщений
(для 2 пользователей)
задача о массивах

допустим, есть 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

И как же эту задачу решить?
(Offline)
 
Ответить с цитированием