La función de módulo se utiliza para devolver el valor del módulo entre sus dos argumentos. Funciona igual que el operador de módulo.
template struct modulus : binary_function { T operator() (const T& x, const T& y) const { return x%y; } };
Tipos de miembros:
- Tipo de primer argumento
- Tipo de segundo argumento
- Tipo de resultado devuelto por el operador miembro
Nota: debemos incluir la biblioteca ‘funcional’ y el ‘algoritmo’ para usar el módulo y la transformación .
Los programas de Bewlo ilustran el funcionamiento de la función de módulo:
// C++ program to implement modulus function #include <algorithm> // transform #include <functional> // modulus, bind2nd #include <iostream> // cout using 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<int>(), 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; }
Producción:
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 <algorithm> // transform #include <functional> // modulus, bind2nd #include <iostream> // cout #include <iterator> #include <vector> using namespace std; int main() { // Create a std::vector with elements // {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} vector<int> 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<int>(), 2)); // Display the vector copy(v.begin(), v.end(), ostream_iterator<int>(cout, " ")); cout << endl; return 0; }
Producción:
0 1 0 1 0 1 0 1 0 1
Publicación traducida automáticamente
Artículo escrito por shubham tyagi 4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA