Computer >> Máy Tính >  >> Lập trình >> C ++

biến đổi () trong C ++

Hàm biến đổi có trong C ++ STL. Để sử dụng nó, chúng ta phải bao gồm tệp tiêu đề thuật toán. Điều này được sử dụng để thực hiện một hoạt động trên tất cả các phần tử. Ví dụ:nếu chúng ta muốn thực hiện bình phương của mỗi phần tử của một mảng và lưu trữ nó vào một mảng khác, thì chúng ta có thể sử dụng hàm biến đổi ().

Chức năng biến đổi hoạt động ở hai chế độ. Các chế độ này là -

  • Chế độ hoạt động đơn nguyên
  • Chế độ hoạt động nhị phân

Chế độ hoạt động một lần

Trong chế độ này, hàm chỉ nhận một toán tử (hoặc hàm) và chuyển đổi thành đầu ra.

Ví dụ

#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";
   }
}

Đầu ra

1
4
9
16
25
36
49
64
81
100

Chế độ hoạt động nhị phân

Trong chế độ này, nó có thể thực hiện hoạt động nhị phân trên dữ liệu đã cho. Nếu chúng ta muốn thêm các phần tử của hai mảng khác nhau, thì chúng ta phải sử dụng chế độ toán tử nhị phân.

Ví dụ

#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";
   }
}

Đầu ra

54
42
96
260
290
444
147
672
180
350