Hi,
Also wir sollen bis Freitag 15.12 einen Beleg in Info abgeben.Ich bin zwar mit meinen Programm fertig,aber weiß nicht, wo mein Fehler ist.Er gibt mir immer unendlich aus.Hierist die Aufgabenstellung.
Und hier mein Programm:
Weiß jemand, wo der Fehler ist? Wäre sehr dankbar.Es gibt zwar die Lösung im Internet, aber ich wollte das selber programmieren.
Also wir sollen bis Freitag 15.12 einen Beleg in Info abgeben.Ich bin zwar mit meinen Programm fertig,aber weiß nicht, wo mein Fehler ist.Er gibt mir immer unendlich aus.Hierist die Aufgabenstellung.
Und hier mein Programm:
#include <iostream>
#include <cmath>
using namespace std;
main ()
{
double x,epsilon,folge1,folge2,ergebnis,differenz,fakultaet1,fakultaet2,fakultaet3,fakultaet4;
int n,a,b;
n=1;
fakultaet1=1;
fakultaet2=1;
fakultaet3=1;
fakultaet4=1;
cout<<" Bitte geben sie ein X-Wert ein";
cin>>x;
cout<<" Bitte geben sie ein Abbruchswert Epsilon ein (muss groesser als 0 sein,je kleiner, destso genauer das Ergebnis)";
cin>>epsilon; //Eingabe Abbruchbedingung
x=sqrt (x*x); //Berechnung des Betrages
do
{
a=n;
b=n+2;
do //Berechnung der Fakultät
{
fakultaet3=fakultaet3*fakultaet1;
fakultaet1=a*(a-1);
a=a-2;
}
while (a>1);
do //Berechnung der Fakultät
{
fakultaet4=fakultaet4*fakultaet2;
fakultaet2=b*(b-1);
b=b-2;
}
while (b>1);
folge1=(pow (x, n))/(fakultaet1); //Berechnung von zi
folge2=(pow (x, n+2))/(fakultaet2); //Berechnung von zi+1
ergebnis=ergebnis+folge1;
cout<<ergebnis;
n=n+2;
differenz=folge2-folge1;
}
while (epsilon<differenz); //Abbruchbedingung
cout << ergebnis;
}
Weiß jemand, wo der Fehler ist? Wäre sehr dankbar.Es gibt zwar die Lösung im Internet, aber ich wollte das selber programmieren.