#include #include double sin2(double x) { double sinx = sin(x); return sinx*sinx; } double log2(double x) { return log(x) / log(2); } double cos2(double x) { double cosx = cos(x); return cosx*cosx; } typedef double (*fgvtip)(double); /* függvényre mutató pointer típusa */ fgvtip tabla[] = { /* ilyen pointerek tömbje */ sin2, /* a függvény neve értékül adható függvényre mutató pointernek */ log2, cos2 }; int main() { int f, x; char* valasztek = "{ 1: sin2x }\n{ 2: log2x }\n{ 3: cos2x }\n"; printf("Melyik fuggveny legyen?:\n%s?:\t", valasztek); scanf("%d", &f); printf("Argumentum ereke?:\t"); scanf("%d", &x); printf("A fuggveny erteke az adott pontban:\t%lf\n", tabla[f-1](x) ); /* a tömbben lévő pointeren keresztül hívom a függvényt */ return 0; }