Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   C programming (http://www.go4expert.com/forums/c-programming-t19527/)

vignesh1988i 23Sep2009 08:55

C programming
 
write a C program , to find whether a number is ODD or EVEN without using Control structures , looping, arrays, functions , operators(namely relational, arithmetic , logical )??????????:):):):):):)

SaswatPadhi 23Sep2009 19:05

Re: C programming
 
OK, we can't use relational, arithmetic, logical operators, but we can use bit-wise and operator.

Code: CPP

if(A&1) {printf("%d is odd\n", A);}
else      {printf("%d is even\n", A);}


vignesh1988i 25Sep2009 02:51

Re: C programming
 
but control structures(if... else) also should not be used...... but ur logic is right....
try that!!!!!:)

SaswatPadhi 25Sep2009 16:23

Re: C programming
 
We can always replace the if...else with the conditional operator <condition> ? <true case> : <false case> .
That way, the code becomes :
Code: CPP

(A&1) ? printf("%d is odd\n", A) : printf("%d is even\n", A);


vignesh1988i 25Sep2009 18:17

Re: C programming
 
hmmmm :)then i ll put my question , in this way... there is a way to print without this conditional operator also.... try:)

thank u

SaswatPadhi 25Sep2009 19:57

Re: C programming
 
Then I would do it this way ;)

Code: CPP

char Result[2][5] = {"EVEN", "ODD"};

printf("%d is %s\n", A, Result[A&1]);


vignesh1988i 26Sep2009 09:46

Re: C programming
 
hmmmm :)..in my question i already said without using arrays toooo u should do it!!!!!!!:):)

xpi0t0s 26Sep2009 12:23

Re: C programming
 
Code:

printf("1 for odd, 0 for even -> %d \n",A&1);
If that still doesn't answer, please copy and paste the ORIGINAL question, not your summary of what you think it says.

vignesh1988i 26Sep2009 12:30

Re: C programming
 
hmmmmmm this is the right answer..... :)

SaswatPadhi 26Sep2009 17:37

Re: C programming
 
Quote:

Originally Posted by vignesh1988i (Post 58000)
hmmmm :)..in my question i already said without using arrays toooo u should do it!!!!!!!:):)

My mistake :p

Quote:

Originally Posted by xpi0t0s (Post 58004)
Code:

printf("1 for odd, 0 for even -> %d \n",A&1);

Nice.


All times are GMT +5.5. The time now is 06:54.