Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет359/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   355   356   357   358   359   360   361   362   ...   465
Байланысты:
аибм сплюс

template
 
class BinaryOperation> Out transform(In1 fi rst1, 
 
In1 last1, In2 fi rst2, Out result, 
 
BinaryOperation binary_op);
Функционалдық объект стандартты немесе қолданушы тағайындаған болуы 
мүмкін. Қолданушы тағайындаған функционалдық объект 
unary_ function
немесе 
binary_function
функциясының (363 б. қараңыз) ұрпағы болуы тиіс.
Төменде көрсетілген мысалда 
transform
алгоритмін бірінші шақыру 
кезінде 
а
жиымын 
2
2
i
i
i
b
a
a

=
формуласы бойынша түрлендіру орында-
лады, ал оны екінші шақыру кезінде 
negate
стандартты функционалдық 
объектісінің көмегімен 
b
жиымы элементтерінің таңбасы өзгертіледі.
#include  
#include  
#include  
using namespace std;
struct preobr: binary_function
 
double operator()(double x, double y) const{ 
 
return x * x - y * y;}
};
int main(){
 
const int m = 5;
 
double a[m] = {5, 3, 2, 3, 1},
 
b[m] = {1, 10, -3, 2, -4};
 
transform(a, a + m, b, a, preobr());
 
transform(b, b + m, b, negate());
 int 
i;
 
for (i = 0; i
 
cout << endl;
 
for (i = 0; i
 
cout << endl; 
 return 
0;
}
Программа орындалуының нəтижесі:


Достарыңызбен бөлісу:
1   ...   355   356   357   358   359   360   361   362   ...   465




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет