#include #include using namespace std; int f1(int &y) { y++; return y - 2; } int f2(int &z) { z--; return z + 2; } void f3(int &x, int y, int z(int &x)) { x += z(y); cout << complex(x++, y) << endl; } int main() { int (*f[5])(int &x) = {f1, f2, f2, f1, f2}; int y(5), z(2); for(int x = 0; x < 5; x++) f3(z, x, f[x]); cout << z; return 0; }