![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Leere |
|
|||
|
Unregistered |
записать на Си выражение, истинное при выполнении указанного условия и ложное в противном случае, если только одно из чисел x, y, z положительно.
Заранее спасибо. Очень срочно. |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 1 Всего: 134 |
Решение в лоб:
Решение для настоящих извращенцев:
Кол-во операций во втором вроде меньше (в первом 9 операций сравнения и 6 AND'ов и 2 OR'а. 9+6+2=17. Во втором 3 сдвига, 2 сложения, 3 вычитания, одно сравнение. 3+2+3+1=9 Добавлено @ 19:37 Вот еще можно. ((a > 0) + (b > 0) + (c > 0) == 1) - кол-во положительных чисел равно 1 Это сообщение отредактировал(а) Mayk - 18.9.2005, 19:43 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 4 Всего: 47 |
Так можно проверить самый старший бит. Если он в единице - отрицательное число
Вот, примерчик при условии, что sizeof(int) равно 4 байта:
З.Ы.: можно конечно IsNegativeNumber через шаблон написан, но автору топика я думаю и этого будет достаточно |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 1 Всего: 134 |
Возможна загвоздка - 0 не является положительным числом в строгом смысле(во всяком случае различают понятия неотрицательное число и положительное число).
Хотя с другой стороны во флоатах существуют положительные и отрицательные нули. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Leere |
|
|||
|
Unregistered |
2Mayk, 2 bel nikita : Пасибо, вы меня спасли от недопуска к лабораторке!
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Тема перенесена из С++
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |