For each of the following write the equivalent C++ expressions, without any unary negation operators (!). (!= is still permitted)
Use DeMorgan's law
!( P && Q) = !P || !Q
!( P || Q) = !P && !Q
For
!(x!=5 && x!=7)
!(x<5 || x>=7)
!( !(a>3 && b>4) && (c != 5))
My answers:
(x>5 || x<5) || (x>7 || x<7)
x>=5 && x < 7
(a>3 && b > 4) && (c!=5)
Are these correct? If not, can you give me answers and explain why they are wrong?
I am a beginner in C++ so take it easy.
Check this out:
!(x!=5 && x!=7) --> x==5 || x==7
!(x<5 || x>=7) --> x>=5 && x<7
!( !(a>3 && b>4) && (c != 5)) --> (a>3 && b>4) || c==5
So, just #2 from your solutions is correct.
来源:https://stackoverflow.com/questions/18949375/demorgans-law-and-c