![]() |
Подскажите по неравенствам:)
Объясните пожалуйста, почему в одном случае выдаётся "true", в другом "false", причём это всё как то связано с "1", при замене допустим на "4" или "6" в обоих случая выдаётся "true". Подскажите как происходит обсчёт и как этого избежать, чтобы всё считалось верно?
Код AS1/AS2:
|
Как избежать - не писать подобных конструкций. Есть скобки, есть && и ||. Не надо лишний раз запутывать компилятор и себя.
|
Для оформления своего кода надо использовать теги [code][/code]
При неравенстве с единицей, последняя преобразуется в булево значение true, что не происходит с другими числами, они дают false. Есть строгое неравенство !== там такого не будет. В вашем случаи q!=w это true, true != 7 тоже true, а true != 1, это true != true, что дает false. Получается: (true != true) != false, это false != false и результат true (true != false) != true, это true != true и результат false |
Ясно, немного разобрался в механизме. Спасибо. Но тогда возникает вот какой вопрос, а как тогда всё таки добиться того, что изначально планировал, как должно выглядеть уровнение, которое выдаёт "false" в том случае если хотя бы "2" из "n" чисел равны и "true" в том случае если все числа отличны друг от друга?:)
|
Ну, каждое нужно сравнить с каждым. Это 2 вложенных цикла.
|
Это ясно, то есть без цикла не обойтись?)
|
Ну в голову пока идея не лезет.
Когда на бумажке смотришь на цифры, ты ведь каждый сравниваешь с каждым, так? |
Можно, ручками.
Код AS1/AS2:
Но два цикла не надо, хватит одного. Код AS1/AS2:
|
Код AS1/AS2:
|
Гениально! Спасибо, никогда бы сам такое не придумал))) Меня только на такое хватило))
Код:
var array:Array = [1, 8, 4, 9]; |
| Часовой пояс GMT +4, время: 22:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.