Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
3 / 2 / 1
Регистрация: 10.10.2017
Сообщений: 85
1

Вычислить значение логического выражения

18.03.2018, 02:09. Просмотров 1286. Ответов 3
Метки нет (Все метки)

Не могу понять что надо делать в данном задании, тема макросов:
https://www.cyberforum.ru/cgi-bin/latex.cgi?w = \begin{cases}(x+y)and(yz)or(not z), & \text{ if } a=0  \\ not((0 or x)and(x-y)), & \text{ if } a\neq 0 \end{cases}
Всё что дано - это эта формула.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2018, 02:09
Ответы с готовыми решениями:

Вычислить значение логического выражения
Помогите пожалуйста разобраться с задачей) Надо: Вычислить значение логического выражения при...

Вычислить значение логического выражения

Вычислить значение логического выражения
Вычислить значение логического выражения x*x-y*y<=0 если x=1, y=-1

Вычислить значение побитового логического выражения
Добрый день господа форумчане не могу написать код верней не могу понять с чего начать задача...

3
Модератор
Эксперт С++
9913 / 8436 / 5129
Регистрация: 18.12.2011
Сообщений: 22,581
18.03.2018, 10:41 2
Лучший ответ Сообщение было отмечено alexboliam как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool omega(int x,int y,int z,int a)
{
    if(a==0)
       return (x+y) && (y*z) || !z;
   return !( (0 || x ) && (x-y) );
}
int main()
{
   int x1,x2,x3,x4;
   cin>>x1>>x2>>x3>>x4;
   cout<<omega(x1,x2,x3,x4);
   return 0;
}
Непонятно, конечно, зачем делать логическое или с нулем (0|| x равно x)
И макросы тут я настоятельно не советую использовать.
1
3 / 2 / 1
Регистрация: 10.10.2017
Сообщений: 85
18.03.2018, 17:56  [ТС] 3
Я вот попробовал на всякий сделать еще вариант с макросом, чтобы не пришлось, если что, переделывать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#if (A==0)
#define W(x,y,z) (x+y)&&(y*z)||!z
#else 
#define W(x,y,z) !((0||x)&&(x-y))
#endif
using namespace std;
 
bool omega(int x,int y,int z,int a)
{
    if(a==0)
       return (x+y) && (y*z) || !z;
   else
       return !( (0 || x ) && (x-y) );
}
int main()
{
   int x1,x2,x3,A;
   cin>>x1>>x2>>x3>>A;
   cout<< "Func: " << omega(x1,x2,x3,A) << endl;
   cout <<"define: " << W(x1,x2,x3);
   return 0;
}
Но у функции и дефайна разные ответы, почему?
P.S. понял, функция же имеет тип bool
0
Модератор
Эксперт С++
9913 / 8436 / 5129
Регистрация: 18.12.2011
Сообщений: 22,581
18.03.2018, 20:38 4
Для препроцессора значение переменных должны быть известны до компиляции, т.е.
надо добавить в начало
C++
1
#define A  0
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2018, 20:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Рекурсия: вычислить значение логического выражения, заданного в виде строки
Вывести значение логического выражения, заданного в виде строки S. Выражение определяется следующим...

Вычислить значение логического выражения при всех возможных значениях
Доброго времени суток. Помогите пожалуйста решить задачу: Вычислить значение логического...

Вычислить значение логического выражения при заданных значениях логических величин
Вычеслить значение логического выражения при следующих значениях логических величин А,В и С: ...

Вычислить значение логического выражения при заданных значениях логических величин
Вычеслить значение логического выражения при следующих значениях логических величин А,В и С: ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.