March 3rd, 2003, 02:53 PM

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, 03:02 PM

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 03:04 PM.
March 3rd, 2003, 04:09 PM

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);
........................................................