#1
  1. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Oct 2002
    Posts
    205
    Rep Power
    0

    Question 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. #2
  3. No Profile Picture
    Contributing User
    Devshed God 1st Plane (5500 - 5999 posts)

    Join Date
    Oct 2000
    Location
    Back in the real world.
    Posts
    5,966
    Rep Power
    191
    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.
  4. #3
  5. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Oct 2002
    Posts
    205
    Rep 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);
    ........................................................

IMN logo majestic logo threadwatch logo seochat tools logo