The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.
|
 |
|
Dev Shed Forums
> Programming Languages
> C Programming
|
Not right pow result???
Discuss Not right pow result??? in the C Programming forum on Dev Shed. Not right pow result??? C programming forum discussing all C derivatives, including C#, C++, Object-C, and even plain old vanilla C. These languages are low level languages, and used on projects such as device drivers, compilers, and even whole computer operating systems.
|
|
 |
|
|
|
|

Dev Shed Forums Sponsor:
|
|
|

March 3rd, 2003, 01:53 PM
|
|
Contributing User
|
|
Join Date: Oct 2002
Posts: 205
Time spent in forums: 18 h 46 m 40 sec
Reputation Power: 0
|
|
Not right pow result???
Hi, a little question about a friend's school homework the question is in the attachment... I made a code but not giving the right result i mean when we solve the equation with a hand calculator the result is different... so the code of mine is:
Code:
/* Numbers needed for the manupulation */
double A = 5, B = 24, X, power=0.2; /* could be 1/5 either */
/* ----------------------------------- */
X = pow (A,power) * tan (B);
/* Outputs the result on the screen */
printf("The number X : %f\n",X);
This one gives an output of: -2.945580
Another approach for this:
Code:
/* Numbers needed for the manupulation */
double A = 5, B = 24, X; /* could be 1/5 either */
/* ----------------------------------- */
X = pow (A,1/5) * tan (B);
/* Outputs the result on the screen */
printf("The number X : %f\n",X);
This one give an output of: -2.134897
So two of them wrong the right result is: 0.614295223
So my question: How can i reach this result by ansi c ??? Thanx for reading...
|

March 3rd, 2003, 02:02 PM
|
|
Contributing User
|
|
Join Date: Oct 2000
Location: Back in the real world.
|
|
|
your problem with #1 is that the tan() function expects rad numbers, not degrees. try "24.0*pi/180.0" instead.
for #2 it is this: (this is also why i used the ".0" above)
pow(...,1/5) - the "1/5" is an integer division. both sides are integers and such will be the result (0). try "1.0/5.0" instead.
Last edited by M.Hirsch : March 3rd, 2003 at 02:04 PM.
|

March 3rd, 2003, 03:09 PM
|
|
Contributing User
|
|
Join Date: Oct 2002
Posts: 205
Time spent in forums: 18 h 46 m 40 sec
Reputation Power: 0
|
|
thanx it works now...
Code:
/* Numbers needed for the manupulation */
double A = 5.0, B, PI = 3.14, X, power = 1.0/5.0;
/* ----------------------------------- */
B = 24.0*PI/180.0;
X = pow (A,power) * tan (B);
/* Outputs the result on the screen */
printf("The number X : %f\n",X);
........................................................
|
Developer Shed Advertisers and Affiliates
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|