Ein Fehler!

flashbrain

Mitglied
Hab irgendwo ein Fehler in meinem Programm...
Folgende Meldung wurde ausgegeben: "cannot convert `double __complex__' to `double' in assignment " und ich versteh nicht was ich falsch gemacht hab!
Hier das Programm:
#include <iostream>
#include <math.h>

using namespace std;

int main ()
{
double N, x, i, y=-1, T=0, S=x, Z=x, F, L, ende;
cout << "Geben sie den x-Wert an, an deren Stelle sie die log- und die arctan-Funktion approximieren wollen!";
cin >> x;
cout << "Geben sie eine natuerliche Zahl N ein, von der die Guete der Näherung abhängt";
cin >> N;
for (int i = 1; i <= 0; i++)
{
y = (-1) * x * y; // Potenz und alternierend plus,minus wird eingerichtet
T = T + y/i; // Erzeugung der Taylorreihe durch Aufsummierung
}
cout << "Die Approximierung fuer den log an der Stelle " << x << " ergab den y-Wert: " << T;
for ( int i = 1; i <= N; i++ )
{
Z = (-1) * x * x * Z;
S = S + Z / ( 2i + 1); // Hier meldet der compiler den Fehler
}
cout << "Die Approximierung fuer den arctan an der Stelle " << x << " ergab den y-Wert: " << S;
F = fabs(log ( 1 + x ) - T); // fabs ist fuer den Betrag
L = fabs(atan ( x ) - S);
cout << "Der Fehler der Approximierung betraegt beim log: " << F << " und beim arctan: " << L << " ! /n Zum beenden auf beliebige Taste! ";
cin >> ende;
}

Wär euch echt dankbar wenn ihr mir helfen könnt!
 
Hi,

Du bist sicher, dass Du nicht meintest:
Code:
for ( int i = 1; i <= N; i++ )
{
    Z = (-1) * x * x * Z;
    S = S + Z / ( 2 * i + 1); // Hier meldet der compiler den Fehler
}
, wenn Du mit dem imgainärteil 2i einer komplexen Zahl multiplizieren willst, brauchst Du auch einen geeigneten Datentyp (so es den in C++ gibt, kenn mich da zugegebenermaßen nicht aus).

Gruß
.
 
Zurück