werehuman
17.05.2011 15:49 Psi+
Первый раз увидел подобную конструкцию в языке R. Говорят, что в VHDL есть такое же.
Итак, ← — это оператор присваивания, y — это массив.
Угадайте, что делает y[y < 0] ← -y[y < 0]
Присваивает.
ок. Есть массив y = 1 , 0, -1, 2, -2, 1
Каким он станет после этой операции?
Пёс его знает.
тут массив [массив<0] или A[a<0] -все значения ниже нуля и будет массив?
массив y, [] — оператор извлечения элементов из массива по индексам, y < 0 — это аргумент этого оператора
так а в смысле индексы существут ?A[A]?
1,0,-1,2,-1,1 ;) не?
нет
хм...интересно
если массиву сунуть вектор, то он вернёт вектор из тех индексов, что указаны аргументом. То есть y[x] вернёт элементы 2 и 3, если x = [2, 3]
это да,но сдеся y[y] нафиг
да и еще указано что меньше 0
там y[y < 0]
получ. что все аргументы,какие бы не были, не превосходят 0... 0[0 < 0]-ошибка будет?
не-а
срань господня
а ты ответ знаешь?
да
-1000?
перебором берёшь?
да ну брось:-) я сижу C3 егэ решаю,поэтому вдруг попаду:-)
фишка в чём
Если y == 1, 0, -1, 2, -2, 1
то y < 0 == FALSE FALSE TRUE FALSE TRUE FALSE
тогда y [y < 0] == -1, -2
-y [y < 0] == 1, 2
это дело присваивается той части массива, и тогда
y == 1, 0, 1, 2, 2, 1
интересно,как в программе это реализовать?
чего?
я имею ввиду,для чего это понадобится,такая заморочка
эм... тебе не приходилось в цикле заменять элементы в массиве?
ну даааа...паскаль