Related Articles
Modulus function in C++ STL
• Last Updated : 14 Sep, 2018

Modulus function is used to return the value of the modulus between its two arguments. It works same as modulus operator works.

template  struct modulus : binary_function
{
T operator() (const T& x, const T& y) const
{
return x%y;
}
};

Member types:

• Type of first argument
• Type of second argument
• Type of result returned by member operator

Note: We must include library ‘functional’ and ‘algorithm’ to use modulus and transform.

Bewlo programs illustrate the working of modulus function:

 // C++ program to implement modulus function#include // transform#include // modulus, bind2nd#include // coutusing namespace std;  int main(){    // defining the array    int array[] = { 8, 6, 3, 4, 1 };      int remainders[5];      // transform function that helps to apply    // modulus between the arguments    transform(array, array + 5, remainders,              bind2nd(modulus(), 2));      for (int i = 0; i < 5; i++)        // printing the results while checking        // whether no. is even or odd        cout << array[i] << " is a "             << (remainders[i] == 0 ? "even" : "odd")             << endl;      return 0;}
Output:
8 is a even
6 is a even
3 is a odd
4 is a even
1 is a odd
 // C++ program to implement modulus function#include // transform#include // modulus, bind2nd#include // cout#include #include using namespace std;  int main(){      // Create a std::vector with elements    // {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}    vector v;    for (int i = 0; i < 10; ++i)        v.push_back(i);      // Perform a modulus of two on every element    transform(v.begin(), v.end(), v.begin(),              bind2nd(modulus(), 2));      // Display the vector    copy(v.begin(), v.end(),         ostream_iterator(cout, " "));    cout << endl;      return 0;}
Output:
0 1 0 1 0 1 0 1 0 1
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up