May 10, 2011 at 8:45pm UTC
Hi everyone this is the code for a quadratic function but I want this function operates imaginary numbers.
Hola a todos este es el codigo para obtener una funcion cuadratica pero quiero q esta funcion me opere numeros imaginarios.
// resolver ecuacion cuadratica
#include <iostream>
#include<math.h>
using namespace std;
float raiz_real (float a, float b, float c)
{
float x;
x = (-b + sqrt(b*b - 4.0*a*c))/(2.0*a);
return x;
}
void impresion (float& x, float& y)
{
cout << x << endl;
cout << y << endl;
}
int main ()
{
float a,b,c;
//float a, b;
//float c;
cout<<"la ecuacion es de la formas: f(x) = ax^2 + bx + c" << endl;
cout << "entre a: " << endl;
cin >> a;
cout << "entre b: " << endl;
cin >> b;
cout << "entre c: " << endl;
cin >> c;
if(((b*b)- (4.0*a*c)) >= 0.0)
{
float x1,x2;
cout << " las raices de la f(x) son reales: " << endl;
//x1 = (-b + sqrt(b*b - 4.0*a*c))/(2.0*a);
x1 = raiz_real(a,b,c);
x2 = (-b - sqrt(b*b - 4.0*a*c))/(2.0*a);
//cout << "x1: " << x1 << endl;
//cout << "x2: " << x2 << endl;
impresion(x1,x2);
}
else{
float im_x1, im_x2;
float re_x1, re_x2;
cout << " Ddted tiene muchisima imaginaci\'on " << endl;
cout << " .. imaginacion es mas que el conocimiento";
cout << " Albert Einstein \n";
cout << "las raices de la f(x) son imaginarias:\n";
re_x1 = -b/(2.0*a);
re_x2 = -b/(2.0*a);
im_x1 = sqrt(-b*b + 4.0*a*c);
im_x2 = sqrt(-b*b + 4.0*a*c);
cout << "x1: " << re_x1 << " + " << im_x1 << " i " << endl;
cout << "x2: " << re_x2 << " - " << im_x2 << " i " << endl;
}
return 0;
}
Last edited on May 10, 2011 at 8:48pm UTC