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

вожусь с типом bool. не выходит. всегда пишет false - C++

Восстановить пароль Регистрация
 
Boost
2 / 2 / 0
Регистрация: 05.01.2011
Сообщений: 48
17.02.2011, 21:51     вожусь с типом bool. не выходит. всегда пишет false #1
Даны два целых числа A и B. проверить истинность высказывания "ровно одно из чисел нечетное".
пишу прогу, всегда выдает false, какие бы числа я не вводил. помогите исправить ошибку, пожалуйста!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  #include <windows.h>
  #include <iostream>
  using namespace std;
 
int main ()
{ 
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  
  int A,B;
  bool dig;
  int C,D; 
  
  cout << "Введите два целых числа: " << endl;
  cin >> A >> B;
  
  D=A%2;
  C=B%2;
  dig=((D=0)&&(C!=0))||((D!=0)&&(C=0));
  cout << "ровно одно из чисел нечетное? " << boolalpha << dig << endl;
  
  system ("pause");
  return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
17.02.2011, 21:56     вожусь с типом bool. не выходит. всегда пишет false #2
Цитата Сообщение от Boost Посмотреть сообщение
D==0
Цитата Сообщение от Boost Посмотреть сообщение
(C==0)
както так
Boost
2 / 2 / 0
Регистрация: 05.01.2011
Сообщений: 48
17.02.2011, 21:59  [ТС]     вожусь с типом bool. не выходит. всегда пишет false #3
ALEX, спасибо!!! мне почему-то кажется, что я пробовал такой вариант, видимо не совсем такой...
да вообще, чего только не перепробовал.. весь моск взорвал) спасибо))
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,058
17.02.2011, 22:04     вожусь с типом bool. не выходит. всегда пишет false #4
смотри как интересно
false=0
true =1;
bool C,D;

D=A%2!=0;
C=B%2!=0;

четное число даст 0 -false
dig=С^D искличающее ИЛИ 0 если они равны 0(false) если неравны true(1)
С уважением Валерий
Boost
2 / 2 / 0
Регистрация: 05.01.2011
Сообщений: 48
17.02.2011, 22:48  [ТС]     вожусь с типом bool. не выходит. всегда пишет false #5
спасибо, Валерий, но я думаю мой преподаватель немножко не поверит в то, что у меня такие знания после двух лекций по Си но учту)) еще раз спасибо))
+c+
112 / 22 / 3
Регистрация: 20.11.2010
Сообщений: 1,294
17.02.2011, 23:01     вожусь с типом bool. не выходит. всегда пишет false #6
мне бы ваши годы, я бы рассказал преподу
Boost
2 / 2 / 0
Регистрация: 05.01.2011
Сообщений: 48
17.02.2011, 23:24  [ТС]     вожусь с типом bool. не выходит. всегда пишет false #7
не поверите! сказал, что у меня слишком сложное решение и попросил сделать проще... написал, как предложил мне Валерий... щас отправлю, буду ждать ответа
Mr.X
Эксперт С++
 Аватар для Mr.X
2807 / 1583 / 248
Регистрация: 03.05.2010
Сообщений: 3,691
18.02.2011, 09:01     вожусь с типом bool. не выходит. всегда пишет false #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/////////////////////////////////////////////////////////////////////////////////////////
//Даны два целых числа A и B. проверить истинность высказывания "ровно одно из чисел нечетное".
/////////////////////////////////////////////////////////////////////////////////////////
#include <cstdlib>
#include <ctime>
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));   
    srand(static_cast<unsigned>(time(0)));
    
    int  A(rand());
    int  B(rand());
      
    std::cout << "Из чисел "
              << A
              << " и "
              << B              
              << ((A + B) % 2 ? " одно" : " НЕ одно")
              << " число нечетное."
              << std::endl;   
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2011, 09:35     вожусь с типом bool. не выходит. всегда пишет false
Еще ссылки по теме:

C++ Изменить значение bool a = true в bool a = false
C++ Шаблонная функция не соотносится с типом bool
C++ Ошибка с типом данных bool

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

Или воспользуйтесь поиском по форуму:
Boost
2 / 2 / 0
Регистрация: 05.01.2011
Сообщений: 48
18.02.2011, 09:35  [ТС]     вожусь с типом bool. не выходит. всегда пишет false #9
спасибо всем за помощь, но я решил в итоге еще проще)))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  #include <windows.h>
  #include <iostream>
  using namespace std;
 
int main ()
{ 
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  
  int A,B;
  bool nechet;
  
  cout << "Введите два целых числа: " << endl;
  cin >> A >> B;
 
  nechet=(A+B)%2;
  cout << "Ровно одно из чисел A и B нечетное? " << boolalpha << nechet << endl;
  
  system ("pause");
  return 0;
}
Yandex
Объявления
18.02.2011, 09:35     вожусь с типом bool. не выходит. всегда пишет false
Ответ Создать тему
Опции темы

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