Если заявление обусловлено - PullRequest
0 голосов
/ 17 февраля 2012

хорошо, это немного сумасшедший вопрос, но я весь день колотил головой, и должен быть более простой способ сделать это!

У меня есть 2 значения, и я хочу проверить ихзначения друг против друга, но между ними может быть разница в + или - 10, что является приемлемым.

Все, что я продолжаю думать, - это то, что мне придется написать огромное заявление с большим количеством операторов ИЛИ, т.е.

if (red = red1) || (red == red1 + 1) || (red == red1 + 2) etc.....

Пожалуйста, кто-нибудь избавит меня от моих страданий и скажет, что есть более простой способ !!!

Ответы [ 2 ]

3 голосов
/ 17 февраля 2012

Убедитесь, что абсолютное значение разности между двумя числами меньше 10.

if (abs(red - red1) <= 10)
    ...
0 голосов
/ 17 февраля 2012

Простой: Предполагая, что это целые значения:

if (abs(red - red1) <= 10) {
}

Если вместо этого у вас есть значения с плавающей запятой:

if (fabs(red - red1) <= 10.0) {
}

В зависимости от типа значений доступно несколько других функций абсолютных значений,См. этот SO ответ для получения дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...