![]() |
Логическая задача.
Задача.
Имеется три величины Boolean. В исходном состоянии одна из них равна 1, две другие 0. Одна из величин принимает значение 1. Нужно, чтобы при этом две другие величины были равны 0. Например: 100->010->100->001->... и т.д. Кто может решить? |
Я даун :wacko: - до меня не дошел смысл :(, испульзуя логические операторы или как ил где?
|
var v1 = true;
var v2 = false; var v3 = false; v1 = v2 = v3 = false; v2 = true; ??? |
1 и 0 вообще говоря просто числа, а не булевы значения.
Формулировка задачи несколько странная. |
Элементарно.
Код:
d = 1; |
Что тус сложного то?
Код:
IF(A==1){B=0;C=0} ELSE IF(B==1){A=0;C=0} ELSE IF(C==1){B=0;A=0} |
Имеется циклический алгоритм, в одной из частей которого обрабатываются эти три величины.
Допустим, на выходе обработчика в очередном цикле было 100. Далее, выполняютсе другие инструкции в теле цикла, цикл крутится, на вход обработчика попадают 100, выдает он 100 ... Но вот по каким-то причинам где-то в цикле значения величин изменились: на вход обработчика попадает 110. Тогда он должен выдать 010. Нельзя ли здесь обойтись без буферизации? И не использовать дополнительных флагов? |
Цитата:
|
Если значения величин заданы в виде 001, 010, 100, то использовать побитовые операции.
PS: условие задачи не до конца понятно. |
ВСЁ РАВНО ЕЁ ЧЕРЕЗ if-else можно решить 100%
|
| Часовой пояс GMT +4, время: 07:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.