Funktionen aus übergebenen Funktionen erzeugen

16/06/2008 - 12:28 von Andreas Meier | Report spam
Hallo,

ist es in C möglich, aus über Funktionenzeigern übergebenen Funktionen
eine neue Funktion zu bauen.

Etwas konkreter und vereinfacht

double f1(double x);
double g1(double x);
double g2(double x);
double h(double f(double x), double g(double x), double x);
double i(double j(double x), double y);

int main(void)
{
double y=1.0;
h(f1,g1,y);
h(f1,g2,y);
return 0;
}

double f1(double x)
{
return 2*x;
}

double g1(double x)
{
return x+1.0;
}

double g2(double x)
{
return 5*x+2.0;
}


double i(double j(double x),double y)
{
return j(y);
}

double h(double f(double x), double g(double x), double x)
{

return i(j,x);

}


In der Funktion h soll nun aus den übergebenen Funktionen f und g eine
neue Funktion double j(double x) gebildet werden z.B. j(x)=f(x)*g(x),
mit der ich nun die Funktion i aufrufen kann.
Zum Hintergrund, die Funktion i ist vorhanden. Im main-file sollen vom
Anwender nur die Funktionen f und g geàndert werden.

Viele Grüße und vielen Dank

Andreas
 

Lesen sie die antworten

#1 Rainer Weikusat
16/06/2008 - 12:45 | Warnen spam
Andreas Meier writes:
ist es in C möglich, aus über Funktionenzeigern übergebenen Funktionen
eine neue Funktion zu bauen.



Nein. 'C-Funktionen' kann nur der Compiler erzeugen.

Ähnliche fragen