/* * Daniel Matuschewsky * * Serie V - Aufgabe 1 */ #include // Input / Output #include // ClearScreen Function #include // getch(); #include // String Funktionen // HEADER DEKLARATIONEN int fakultaet_plus(int); int potenz_plus(int, int); double eFunktion(int, double); int nachkommastellen(double); int main(){ int x = 0; double epsilon = 0.0; printf("Genauere e-Funktion !\n\n"); printf("Die Funktion ist hier e^x \n"); printf("Bitte geben Sie x an: "); scanf("%i", &x); printf("Bitte geben Sie die Genauigkeit EPSILON an (z.B. 10e-7): "); scanf("%lf", &epsilon); printf("\n\nErgebnis: %lf (EPSILON: %lf)", eFunktion(x,epsilon), epsilon); getch(); } double eFunktion(int x, double epsilon){ double value; int i = 0; do{ if (i == 0){ value = (double)1; }else if(i == 1){ value = (double)x; }else{ value += ( (double)potenz_plus(i,x) / (double)fakultaet_plus(i) ); } printf("\n Genauigkeit => %lf", ((double)potenz_plus(i,x) / (double)fakultaet_plus(i))); i++; }while( (((double)potenz_plus(i,x) / (double)fakultaet_plus(i)) > epsilon)); return value; } int fakultaet_plus(int zahl){ int res = 1; for (int i = 1; i < (zahl+1); i++){ res *= i; } return res; } int potenz_plus(int basis, int exponent){ int zahl = 1; if (exponent != 0){ for (int i = 1; i <= exponent; i++){ zahl *= basis; } } return zahl; }