Forums: » Register « |  Free Tools |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support |

New Free Tools on Dev Shed!

#1
March 3rd, 2003, 02:53 PM
 cemlouis
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...

#2
March 3rd, 2003, 03:02 PM
 M.Hirsch
Contributing User

Join Date: Oct 2000
Location: Back in the real world.
Posts: 5,966
Time spent in forums: 1 Month 2 Days 52 m 24 sec
Reputation Power: 190
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.
__________________
--
Manuel Hirsch - Linux, FreeBSD, programming, administration articles, tutorials and more.

Last edited by M.Hirsch : March 3rd, 2003 at 03:04 PM.

#3
March 3rd, 2003, 04:09 PM
 cemlouis
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);

........................................................

 Viewing: Dev Shed Forums > Programming Languages > C Programming > Not right pow result???