Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Условный оператор if


Автор: Tiglon 20.2.2012, 20:18
Всем доброго времени суток.
Вот к примеру мне нужно сравнить два числа а и b. Мне нужно так чтобы они были оба или положительных или отрицательных. 
Это будет что-то типа такого ?
Код

...
if (a<0, c<0 || a>0,  c>0)
...


Автор: boostcoder 20.2.2012, 20:23
Код

if ( (a<0 && c<0) || (a>0 && c>0) ) {
}

Автор: Cheloveck 20.2.2012, 20:24
Код

if((a > 0 && b > 0) || (a < 0 && b < 0))

Автор: bsa 20.2.2012, 20:25
Tiglon, нет. оператор запятая делает несколько не то, что ты думаешь. Нужно использовать логическое И:
Код
if ( ((a < 0) && (c < 0)) || ((a > 0) && (c > 0)) )
   ...
Но можно воспользоваться арифметическими свойствами операции умножение: 
Код
if ((a * c) > 0)
   ...

Автор: newbee 20.2.2012, 20:26
Прямой перевод - (a>0 && b>0) || (a<0 && b<0)

Если числа небольшие или используется bignum, можно вспомнить математику и сравнить a*b>0.

Добавлено через 36 секунд
Какая я слоупочечка smile

Автор: Tiglon 20.2.2012, 20:35
Ааа.
Понял.
Всем спасибо.

Автор: bsa 21.2.2012, 13:48

 ! 
bsa
оффтопик оправил во флейм

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)