কম্পিউটার

C++ এ রূপান্তর()


ট্রান্সফর্ম ফাংশন C++ STL-এ উপস্থিত। এটি ব্যবহার করার জন্য, আমাদের অ্যালগরিদম হেডার ফাইল অন্তর্ভুক্ত করতে হবে। এটি সমস্ত উপাদানের উপর একটি অপারেশন করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, যদি আমরা একটি অ্যারের প্রতিটি উপাদানের বর্গক্ষেত্র সম্পাদন করতে চাই এবং এটিকে অন্যটিতে সংরক্ষণ করতে চাই, তাহলে আমরা transform() ফাংশন ব্যবহার করতে পারি।

ট্রান্সফর্ম ফাংশন দুটি মোডে কাজ করে। এই মোডগুলি হল −

  • ইউনারি অপারেশন মোড
  • বাইনারী অপারেশন মোড

ইউনারি অপারেশন মোড

এই মোডে ফাংশনটি শুধুমাত্র একটি অপারেটর (বা ফাংশন) নেয় এবং আউটপুটে রূপান্তর করে।

উদাহরণ

#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

  1. C++ এ ফাংশন

  2. C++ এ ফাংশনে অ্যারে পাস করা

  3. একটি C++ ফাংশনে একটি 2D অ্যারে পাস করা

  4. একটি C++ ফাংশনে একটি অ্যারে পাস করা