title image


Smiley Probleme mit call-by-reference-Variablen
Hallo,



ich habe eine Aufgabe in C++ ein Programm zu schreiben, bei dem alle Nullstellen einer kubischen Gleichung gelöst werden sollen. Bedingungen sind, daß für alle Möglichkeiten (also a = 0, b = 0, ..., a != 0, ...) immer 3 Nullstellen (jede Nullstelle mit Real- und Imaginärteil dargestellt) ausgegeben bzw. berechnet werden sollen. Ist die Nullstelle nicht vorhanden, dann soll "nan" berechnet werden.



Ich bin zur Zeit dabei, das ganze über eine eigene Funktion zu und call-by-reference-Variablen zu lösen. Genau da ist mein Problem, denn irgendwie funktioniert die gesamte Konstruktion nicht. Bekomme es irgendwie mit den Variablen nicht. Hoffe, daß mir jemand helfen kann.



Markus



----------------------------------------------------------------------------------

kubik.cc

----------------------------------------------------------------------------------



#include

#include "funktionen.h"



using namespace std;



int main ()

{

double a;

double b;

double c;

double d;

double Re1;

double Re2;

double Re3;

double Im1;

double Im2;

double Im3;



cout << "Bitte die Koeffizienten a, b, c, d fuer ax3+bx2+cx+d." << endl;

cout << "a: ";

cin >> a;

cout << "b: ";

cin >> b;

cout << "c: ";

cin >> c;

cout << "d: ";

cin >> d;



reschnung(a,b,c,d);



cout << "Die Nullstellen lauten:" << endl;

cout << Re1 << " " << Im1 << endl;

cout << Re2 << " " << Im2 << endl;

cout << Re3 << " " << Im3 << endl;

}





----------------------------------------------------------------------------------

funktionen.h

----------------------------------------------------------------------------------



#ifndef FUNKTIONEN_H_

#define FUNKTIONEN_H_

void reschnung(double a,double b,double c,double d);

#endif /*FUNKTIONEN_H_*/





----------------------------------------------------------------------------------

reschnung.cc

----------------------------------------------------------------------------------



#include



void reschnung(double& Re1, double& Re2, double& Re3, double& Im1, double& Im2, double& Im3)



{



double a;

double b;

double c;

double d;

double D;



if (a==0)

{

if (b==0)

{

if (c==0)

{

Re1 = 0/0

Re2 = 0/0;

Re3 = 0/0;

Im1 = 0/0;

Im2 = 0/0;

Im3 = 0/0;

}

else

{

Re1 = 0/0;

Im1 = 0/0;

Re2 = 0/0;

Im2 = 0/0;

Re3 = -(d/c);

Im3 = 0;

}

}

else

{

if (c==0)

{

Re1 = 0/0;

Im1 = 0/0;

Re2 = 0/0;

Im2 = 0/0;

D = -(d/b);



if (D > 0)

{

Re3 = sqrt(D);

Im3 = 0;

}

else

{

D = -D;

Re3 = 0;

Im3 = sqrt(D);

}

}

else

{

}



}

}

else

{

if (b==0)

{

if (c==0)

{

}

else

{

}

}

else

{

if (c==0)

{

}

else

{

}

}

}

}

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: