Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dima_c8
 Аватар для Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
#1

Задача с булевым типом - C++

19.02.2012, 08:10. Просмотров 553. Ответов 9
Метки нет (Все метки)

Здраствуйте! Вот над задачей уже третий день голову ламаю: Имеются три числа А,В,С.Нужно вывести на экран false если больше чем одно из этих чисел четное и true если только одно из этих чисел четное,при этом нельзя использовать ни if,for короче нужно использовать вот такого типа выражение : м==п||и>0 ну и что в таком духе.Одно я знаю точно здесь нужно использовать boolalpha в потоке cout
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,111
19.02.2012, 08:52     Задача с булевым типом #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int a = 2, b = 5, c = 7;
    cout << boolalpha << (((a % 2 == 0) && (b % 2 == 0)) || ((a % 2 == 0) && (c % 2 == 0)) || ((b % 2 == 0) && (c % 2 == 0))) << endl;
    system("PAUSE > NULL");
    return EXIT_SUCCESS;
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.02.2012, 09:45     Задача с булевым типом #3
Цитата Сообщение от Dima_c8 Посмотреть сообщение
true если только одно из этих чисел четное
Цитата Сообщение от dimcoder Посмотреть сообщение
int a = 2, b = 5, c = 7;
http://liveworkspace.org/code/18a15d...b0c10d7e6f97e2
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,111
19.02.2012, 10:56     Задача с булевым типом #4
soon, задание через слово просто читал

Цитата Сообщение от Dima_c8 Посмотреть сообщение
false если больше чем одно из этих чисел четное и true если только одно из этих чисел четное
По логике можно сократить до
Цитата Сообщение от Dima_c8 Посмотреть сообщение
true если только одно из этих чисел четное
Т.к. ничего не сказано если вообще все нечетные
И тогда:
C++
1
2
bool f = ((a % 2 == 0 && b % 2 != 0 && c % 2 != 0) || (a % 2 != 0 && b % 2 == 0 && c % 2 != 0) || (a % 2 != 0 && b % 2 != 0 && c % 2 == 0));
cout << boolalpha << f << endl;
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
19.02.2012, 12:17     Задача с булевым типом #5
Как вариант:
C++
1
cout << boolalpha << ( !( ( a + b + c ) & 1 ) && ( ( a & 1 ) || ( b & 1 ) ) ) << endl;
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.02.2012, 12:42     Задача с булевым типом #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
typedef unsigned T_uint;
 
bool func(T_uint a, T_uint b, T_uint c)
{
    return (((a & b) ^ c) & (a | b & 1));
}
 
int main()
{
    for(int i = 0; i < 4; ++i)
        for(int j = i; j < 4; ++j)
            for(int k = j; k < 4; ++k)
                std::cout   <<  "func(" <<  i   <<  ", "
                                        <<  j   <<  ", "
                                        <<  k   <<  ") = "
                                        <<  std::boolalpha
                                        <<  func(i, j, k)
                                        <<  std::endl;
    return 0;
}
out
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
func(0, 0, 0) = false
func(0, 0, 1) = false
func(0, 0, 2) = false
func(0, 0, 3) = false
func(0, 1, 1) = true
func(0, 1, 2) = false
func(0, 1, 3) = true
func(0, 2, 2) = false
func(0, 2, 3) = false
func(0, 3, 3) = true
func(1, 1, 1) = false
func(1, 1, 2) = true
func(1, 1, 3) = false
func(1, 2, 2) = false
func(1, 2, 3) = true
func(1, 3, 3) = false
func(2, 2, 2) = false
func(2, 2, 3) = false
func(2, 3, 3) = true
func(3, 3, 3) = false
Dima_c8
 Аватар для Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
19.02.2012, 16:00  [ТС]     Задача с булевым типом #7
Люди я вот сматрю на вашы ответы и не могу понять что такое & я привык думать что это взятие адреса и ^ первый раз вижу,слышу :
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
19.02.2012, 16:03     Задача с булевым типом #8
Dima_c8, битовые операции почитайте.
Dima_c8
 Аватар для Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
19.02.2012, 16:07  [ТС]     Задача с булевым типом #9
Та вот только что в яндексе пытался найти и ничего ни нашол
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2012, 16:08     Задача с булевым типом
Еще ссылки по теме:

C++ Программа не работает с типом string
C++ Работа с типом char
Использование кириллицы с типом string C++
C++ В чем разница между типом функции и типом возвращаемого значения?
C++ Функция с типом bool

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.02.2012, 16:08     Задача с булевым типом #10
Wiki
Yandex
Объявления
19.02.2012, 16:08     Задача с булевым типом
Ответ Создать тему
Опции темы

Текущее время: 08:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru