hillffffeeeee
-
Hi Leute, hab hier eine Aufgabe, in der ich ein c programm schreiben soll, dass die Exponentialfunktion mit einer Reihenentwicklung darstellt. Ich hab soweit eigentlich auch fast alles fertig nur jetzt zeigt mir der compiler folgenden fehler an:
quelltext.c: In function 'main':
quelltext.c:37:1: error: too few arguments to function 'exp'#include <stdio.h>
#include <math.h>int main (void)
{int i;
double k = 587654;
double var = 1;
double x = 1;
int j = 1;
double ex = 0;
double abs;scanf("%lf", &x);
if (k < 10)
k=10;for(i=1;i<=k;i++){
var = varx;
k = vari;ex = var+k;
printf("Aktueller Wert k:%lf\n", k);
printf("Aktueller Summenwert ex:%lf\n",ex);}
while(fabs(ex-exp())>(100.0/k))
{
var=varx;
k=varj;
ex = var+k;
abs=fabs(ex-exp());
printf("Absolut Differenz abs: %abs",abs);
printf("Aktueller Summenwert ex:%ex\n",ex);j++;
}return 0;
}ich verstehe das nicht und bin ne absolute niete in programmieren, ich wäre sehr dankbar, wenn mir da jemand helfen könnte
-
Der Compiler sagt dir genau, was falsch ist.
Das bisschen Englisch solltest du doch wohl verstehen?
-
Hi
flowbomb schrieb:
quelltext.c:37:1: error: too few arguments to function 'exp'
bedeutet, dass die Funktion exp zu wenig Argumente bekommen hat.
-
wo muss ich denn da noch welche arumente hinzufügen??
-
flowbomb schrieb:
wo muss ich denn da noch welche arumente hinzufügen??
Fielmann?
Habe ich dir gerade beschrieben.
Nochmal lesen!
Zeig mal die Formel, dann kann ich dir auch sagen welche Variable du in die exp Funktion einsetzen musst.
Woher hast du das kopiert, oder hast du alles selbst falsch abgetippt?
-
e^x = x^k/k! = 1 + x^2 + (1/2*3)x^3 + ...
hab jetzt bei exp i eingesetzt und dann zählt er mir dauernd was runter aber irgend wann kommt nur inf und -inf
das hat mir ein kumpel geschrieben, bei ihm is es aber auch lange her
-
Deine Formel ist falsch und ein Summenzeichen fehlt.
Das Programm ist auch falsch:flowbomb schrieb:
for(i=1;i<=k;i++){ var = var*x; k = var*i;
Die Abbruchbedingung wird nicht erreicht, weil k innerhalb der Schleife immer größer wird, für gewisse x.
-
und was muss ich jetzt ändern??
-
flowbomb schrieb:
und was muss ich jetzt ändern??
Alles.
Nimm mal die Forensuche.
"Exponentialfunktion" ist kein schlechter Begriff.Dann findest du ein Thread, der gerade mal 10 Tagen alt ist.
-
Interessiert dich der Lösungsweg oder nur die Lösung?
e^{x} = \sum_{k=0}^{n}\frac{x^{k}}{k!} = \frac{x^{0}}{0!} + \frac{x^{1}}{1!} + \frac{x^{2}}{2!} + \frac{x^{3}}{3!} + \ ... \ + \frac{x^{n}}{n!} \\ = \frac{1}{1} \ + \ \frac{x}{1} \ + \ \frac{x}{1}\cdot \frac{x}{2} \ + \ \frac{x}{1} \cdot \frac{x}{2} \cdot \frac{x}{3} \ + \ ... \ + \ \frac{x}{1} \cdot \frac{x}{2} \cdot \frac{x}{3} \cdot\cdot\cdot\frac{x}{n}
Ich denke mal, beides wirst du hier im Forum finden, wenn du etwas suchst.
Wenn du selber etwas knobeln möchtest, dann guck dir an wie man die
Summenformel noch schreiben kannIn der letzten Zeile siehst du,
das lässt sich schön programmieren ohne die Potenzen von x und auch ohne die Fakultäteten immer wieder neu ausrechnen zu müssen.