Выбрать главу

int main() {

 vector‹int› v;

 v.push_back(4);

 v.push_back(1);

 v.push_back(5);

 int n = 0;

 count_if(v.begin(), v.end(), bigger, n);

 cout ‹‹ "Number greater than 3 = " ‹‹ n ‹‹ endl;

 return 0;

}

stblptn0.cpp

#include ‹stl.h›

#include ‹iostream.h›

bool less_10(int a_) {

 return a_ ‹ 10 ? 1 : 0;

}

int numbers[6] = {10, 5, 11, 20, 6, -2};

int main() {

 stable_partition(numbers, numbers + 6, less_10);

 for (int i = 0; i ‹ 6; i++) cout ‹‹ numbers[i] ‹‹ ' ';

 cout ‹‹ endl;

 return 0;

}

setunon0.cpp

#include ‹stl.h›

#include ‹iostream.h›

int v1[3] = {13, 18, 23};

int v2[4] = {10, 13, 17, 23};

int result[7] = {0, 0, 0, 0, 0, 0, 0};

int main() {

 set_union(v1, v1 + 3, v2, v2 + 4, result);

 for (int i = 0; i ‹ 7; i++) cout ‹‹ result[i] ‹‹ ' ';

 cout ‹‹ endl;

 return 0;

}

mkheap1.cpp

#include ‹stl.h›

#include ‹iostream.h›

int numbers[6] = {5, 10, 4, 13, 11, 19};

int main() {

 make_heap(numbers, numbers + 6, greater‹int›());

 for (int i = 6; i ›= 1; i--) {

  cout ‹‹ numbers[0] ‹‹ endl;

  pop_heap(numbers, numbers + i, greater‹int›());

 }

 return 0;

}

setintr0.cpp

#include ‹stl.h›

#include ‹iostream.h›

int v1[3] = {13, 18, 23};

int v2[4] = {10, 13, 17, 23};

int result[4] = {0, 0, 0, 0};

int main() {

 set_intersection(v1, v1 + 3, v2, v2 + 4, result);

 for (int i = 0; i ‹ 4; i++) cout ‹‹ result[i] ‹‹ ' ';

 cout ‹‹ endl;

 return 0;

}

logicand.cpp

#include ‹iostream.h›

#include ‹stl.h›

bool input1[4] = {1, 1, 0, 1};

bool input2[4] = {0, 1, 0, 0};

int main() {

 int output[4];

 transform(input1, input1 + 4, input2, output, logical_and‹bool›());

 for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;

 return 0;

}

logicor.cpp

#include ‹iostream.h›

#include ‹stl.h›

bool input1[4] = {1, 1, 0, 1};

bool input2[4] = {0, 1, 0, 0};

int main() {

 int output[4];

 transform(input1, input1 + 4, input2, output, logical_or‹bool›());

 for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;

 return 0;

}

nequal.cpp

#include ‹iostream.h›

#include ‹stl.h›

int input1[4] = {1, 7, 2, 2};

int input2[4] = {1, 6, 2, 3};

int main() {

 int output[4];

 transform(input1, input1 + 4, input2, output, not_equal_to‹int›());

 for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;

 return 0;

}

ptition0.cpp

#include ‹stl.h›

#include ‹iostream.h›

int less_10(int a_) {

 return a_ ‹ 10 ? 1 : 0;

}

int numbers[6] = {6, 12, 3, 10, 1, 20};

int main() {

 partition(numbers, numbers + 6, less_10);

 for (int i = 0; i ‹ 6; i++) cout ‹‹ numbers[i] ‹‹ ' ';

 cout ‹‹ endl;

 return 0;

}

inrprod0.cpp

#include ‹stl.h›

#include ‹iostream.h›

#include ‹string.h›

int vector1[5] = {1, 2, 3, 4, 5};

int vector2[5] = {1, 2, 3, 4, 5};

int main() {

 int result;

 result = inner_product(vector1, vector1 + 5, vector2, 0);

 cout ‹‹ "Inner product = " ‹‹ result ‹‹ endl;

 return 0;

}

func3.cpp

#include ‹iostream.h›

#include ‹stl.h›

int main() {

 vector‹int›v;

 v.push_back(4);

 v.push_back(1);

 v.push_back(5);

 sort(v.begin(), v.end(), greater‹int›());

 vector‹int›::iterator i;

 for (i = v.begin(); i != v.end(); i++)  cout ‹‹ *i ‹‹ endl;

 return 0;

}

modulus.cpp

#include ‹iostream.h›

#include ‹stl.h›

int input1[4] = {6, 8, 10, 2};

int input2[4] = {4, 2, 11, 3};

int main() {

 int output[4];

 transform(input1, input1 + 4, input2, output, modulus‹int›());

 for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;

 return 0;

}

uprbnd1.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main() {

 int array[20];

 for (int i = 0; i ‹ 20; i++) {

  array[i] = i/4;

  cout ‹‹ array[i] ‹‹ ' ';

 }

 cout ‹‹ "\n3 can be inserted at index: "

  ‹‹ upper_bound(array, array + 20, 3) - array ‹‹ endl;

 return 0;

}

equalto.cpp

#include ‹iostream.h›

#include ‹stl.h›

int input1[4] = {1, 7, 2, 2};

int input2[4] = {1, 6, 2, 3};

int main() {

 int output[4];

 transform(input1, input1 + 4, input2, output, equal_to‹int›());

 for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;

 return 0;

}

count1.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main() {

 vector‹int› numbers(100);

 for (int i = 0; i ‹ 100; i++) numbers[i] = i % 3;

 int elements = 0;

 count(numbers.begin(), numbers.end(), 2, elements);

 cout ‹‹ "Found " ‹‹ elements ‹‹ " 2's." ‹‹ endl;

 return 0;

}

uniqcpy1.cpp

#include ‹stl.h›

#include ‹iostream.h›

int numbers[8] = {0, 1, 1, 2, 2, 2, 3, 4};

int result[8] = {0, 0, 0, 0, 0, 0, 0, 0};

int main() {

 unique_copy(numbers, numbers + 8, result);

 for (int i = 0; i ‹ 8; i++) cout ‹‹ result[i] ‹‹ ' ';

 cout ‹‹ endl;

 return 0;

}

minus.cpp

#include ‹iostream.h›

#include ‹stl.h›

int input1[4] = {1, 5, 7, 8};

int input2[4] = {1, 4, 8, 3};

int main() {

 int output[4];

 transform(input1, input1 + 4, input2, output, minus‹int›());

 for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;

 return 0;

}