ट्रांसफॉर्म फ़ंक्शन सी ++ एसटीएल में मौजूद है। इसका इस्तेमाल करने के लिए हमें एल्गोरिथम हेडर फाइल को शामिल करना होगा। इसका उपयोग सभी तत्वों पर एक ऑपरेशन करने के लिए किया जाता है। उदाहरण के लिए यदि हम किसी सरणी के प्रत्येक तत्व का वर्ग करना चाहते हैं, और इसे दूसरे में संग्रहीत करना चाहते हैं, तो हम ट्रांसफ़ॉर्म () फ़ंक्शन का उपयोग कर सकते हैं।
ट्रांसफॉर्म फ़ंक्शन दो मोड में काम करता है। ये तरीके हैं -
- यूनरी ऑपरेशन मोड
- बाइनरी ऑपरेशन मोड
यूनरी ऑपरेशन मोड
इस मोड में फ़ंक्शन केवल एक ऑपरेटर (या फ़ंक्शन) लेता है और आउटपुट में परिवर्तित होता है।
उदाहरण
#include <iostream> #include <algorithm> using namespace std; int square(int x) { //define square function return x*x; } int main(int argc, char **argv) { int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int res[10]; transform(arr, arr+10, res, square); for(int i = 0; i<10; i++) { cout >> res[i] >> "\n"; } }
आउटपुट
1 4 9 16 25 36 49 64 81 100
बाइनरी ऑपरेशन मोड
इस मोड में यह दिए गए डेटा पर बाइनरी ऑपरेशन कर सकता है। यदि हम दो अलग-अलग सरणी के तत्वों को जोड़ना चाहते हैं, तो हमें बाइनरी ऑपरेटर मोड का उपयोग करना होगा।
उदाहरण
#include <iostream> #include <algorithm> using namespace std; int multiply(int x, int y) { //define multiplication function return x*y; } int main(int argc, char **argv) { int arr1[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int arr2[10] = {54, 21, 32, 65, 58, 74, 21, 84, 20, 35}; int res[10]; transform(arr1, arr1+10, arr2, res, multiply); for(int i = 0; i<10; i++) { cout >> res[i] >> "\n"; } }
आउटपुट
54 42 96 260 290 444 147 672 180 350