Frage zu Funktionen in C
-
Hallo,
Bei mir sieht der code mal so aus:
double func1(double x) { sum=0.1*x*x + 0.5*x - 20.0; round=floor(sum + 0.5); return round; } double func2(double x) { sum=0.7 + 0.05*x*x*x; round=floor(sum + 0.5); return round; } double func3(double x) { sum=1.0+8.0*sin(x/9.0); round=floor(sum + 0.5); return round;
Ich habe 3 Funktionen und runde den Wert mit der Formel
round=floor(sum + 0.5);Da die Formel gleich ist möchte ich alle 3 Funktionen in dieser zusammenfassen. nur wie mach ich das? Also so würd ich mir das vorstellen
double func1, func2, func3 (double x) round=floor(sum + 0.5);
aber das geht ja so nicht.
-
Mir ist zwar nicht wirklich klar, was du willst, aber falls ich dich richtig verstanden haben sollte übergib doch einfach noch einen Parameter mehr, der der Funktion "sagt", welche Rechnung ausgeführt werden soll und lass das Ergebnis dann runden.
-
Wie wärs mir 'ner Art Policy?
double policy_1(double x) { return 0.1*x*x + 0.5*x - 20.0; } double policy_2(double x) { return 0.7 + 0.05*x*x*x; } double policy_3(double x) { return 1.0+8.0*sin(x/9.0); } double func(double x) { return floor(x + 0.5); }
Und je nachdem was gebraucht wird, sieht dann der Aufruf aus, zB
double ergebis = func(policy_1(irgendwas));