Функция модуля в 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 и многому другому, см. Полный курс подготовки к собеседованию .