acos() function in C++ STL

The acos() is an inbuilt function in C++ STL which returns the inverse cosine of a number (argument) in radians. The value which is returned by the acos() function always lies between –\pi to +\pi

Syntax :

acos(data_type x)

Parameters :This function accepts one mandatory parameter x which specifies the value whose inverse cosine should be computed. It must lie between -1 and +1, else a domain-error is thrown. The parameter can be of double, float or long double datatype.



Return :The function returns a numeric value between –\pi and +\pi. It is the counterclockwise angle which is measured in radian.

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to demonstrate
// the acos() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    double x = 1.0;
  
    // Function call to calculate acos(x) value
    double result = acos(x);
  
    cout << "acos(1.0) = " << result << " radians" << endl;
    cout << "acos(1.0) = " << result * 180 / 3.141592
         << " degrees" << endl;
  
    return 0;
}

chevron_right


Output:

acos(1.0) = 0 radians
acos(1.0) = 0 degrees

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to demonstrate
// the acos() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    double result;
    int x = -1;
  
    // Function call to calculate acos(x) value
    result = acos(x);
  
    cout << "acos(-1) = " << result
         << " radians" << endl;
    cout << "acos(-1) = " << result * 180 / 3.141592
         << " degrees" << endl;
  
    return 0;
}

chevron_right


Output:

acos(-1) = 3.14159 radians
acos(-1) = 180 degrees

Errors and Exceptions:

  • The function returns no matching function for call to error when a string or character is passed as an argument.
  • The function returns nan when a out of range number is passed as an argument.

Below programs illustrate the errors and exceptions of the above method:

Program 3:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to demonstrate the acos()
// function errors and exceptions
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    double result;
    string x = "gfg";
    result = acos(x);
  
    cout << "acos(x) = " << result
         << " radians" << endl;
    cout << "acos(x) = " << result * 180 / 3.141592
         << " degrees" << endl;
  
    return 0;
}

chevron_right


Output:

prog.cpp:10:17: error: no matching function for call to 'acos(std::__cxx11::string&)'
  result = acos(x);

Program 4:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to demonstrate the
// acos() function errors and exceptions
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    double x = 3.7, result;
  
    // Function call to calculate acos(x) value
    result = acos(x);
  
    cout << "acos(3.7) = " << result
         << " radians" << endl;
    cout << "acos(3.7) = " << result * 180 / 3.141592
         << " degrees" << endl;
  
    return 0;
}

chevron_right


Output:

acos(3.7) = nan radians
acos(3.7) = nan degrees


My Personal Notes arrow_drop_up

pawanasipugmailcom

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.