fork(1) download
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4.  
  5. int plus5(int arg) {
  6. return arg + 5;
  7. }
  8.  
  9. int multiply3(int arg) {
  10. return 3 *arg;
  11. }
  12.  
  13. typedef int (*function_t)(int);
  14.  
  15. void for_each(int * begin, int * end, function_t func) {
  16. for ( ; begin != end; ++begin) {
  17. *begin = func(*begin);
  18. }
  19. }
  20.  
  21.  
  22. int main() {
  23. std::size_t const size = 5;
  24. int array[] = {1, 2, 3, 4, 5};
  25.  
  26. std::cout << "add 5 to each element: ";
  27. for_each(array, array + size, plus5);
  28. for (std::size_t i = 0; i != size; ++i) {
  29. std::cout << std::setw(4) << array[i];
  30. }
  31. std::cout << std::endl;
  32.  
  33. std::cout << "multiply each element by 3: ";
  34. for_each(array, array + size, multiply3);
  35. for (std::size_t i = 0; i != size; ++i) {
  36. std::cout << std::setw(4) << array[i];
  37. }
  38. std::cout << std::endl;
  39. }
  40.  
Success #stdin #stdout 0s 2896KB
stdin
Standard input is empty
stdout
add 5 to each element:        6   7   8   9  10
multiply each element by 3:   18  21  24  27  30