Функция модуля в C ++ STL

Опубликовано: 30 Декабря, 2021

Функция модуля используется для возврата значения модуля между двумя его аргументами. Он работает так же, как работает оператор модуля.

модуль структуры шаблона: binary_function  
{
  Оператор T () (const T & x, const T & y) const 
  {
   вернуть x% y;
  }
};

Типы участников:

  • Тип первого аргумента
  • Тип второго аргумента
  • Тип результата, возвращаемого оператором-членом

Примечание: мы должны включить библиотеку «функционал» и «алгоритм» для использования модуля и преобразования.

Программы Bewlo иллюстрируют работу модульной функции:

// 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;
}
Выход:
8 - четный
6 - четный
3 странно
4 - четный
1 странный
// 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;
}
Выход:
0 1 0 1 0 1 0 1 0 1
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .



C++