RE:solicito cofigo fuente ecuacion segundo grado
Publicado por
mauricio (1 intervención) el 05/11/2007 21:12:38
#include <stdlib.h>
#include <math.h>
#include <iostream>
using namespace std;
int main(void) { double a, b, c, res1, res2, arrel, discriminante, x, y;
cout <<"Este programa solicita calcula las rizes de una equacion de segundo grado." << endl;
cout << endl;
cout << endl;
cout << "Considerando a(x^2) + bx + c = 0" << endl<<endl<<endl;
cout << "Introduzca el factor (a)" << endl;
cin >> a;
cout << "Introduzca el factor (b)" << endl;
cin >> b;
if ((a==0)&&(b==0)) { cout << "Para que sea una equacion, debe existir X [a>0 y/o b>0]" <<endl;
cout<<endl;
cout <<endl<<endl<<endl;
goto end;
} cout << "Introduzca el valor numerico indivudual (c): " << endl;
cin >> c;
if (a==0) { res1=-c/b;
cout << endl;
cout << endl;cout << endl;
cout << "Se trata de una equacion de 1r grado de resltado" <<endl;
cout << "x = " <<res1 <<endl;
} else { discriminante = (pow(b,2) - 4*a*c);
if (discriminante==0) { res1=(-b)/(2*a);
cout << endl;
cout << endl;
cout << endl;
cout << "Se trata de una equacion de segundo grado de ambas raizes" <<endl;
cout << "x = " <<res1 <<endl;
} else { arrel=sqrt(sqrt(discriminante*discriminante));
if (discriminante>0){ res1= (b*(-1) - arrel)/(2*a);
res2= (b*(-1) + arrel)/(2*a);
cout << endl;
cout << endl;cout << endl;
cout << "Se trata de una equacion de segundo grado de resultados:" << endl;
cout << "x (1) = "<< res1 <<endl;
cout << "x (2) = "<< res2 <<endl;
} else{ x=-b/(2*a);
y=arrel/(2*a);
cout << endl;cout << endl;cout << endl;
cout << "El resultdo son dos raices complejas:"<<endl;
cout << "Raiz 1 = "<< x << " + " << y << "i"<<endl;
cout << "Raiz 2 = "<< x << " - " << y << "i"<<endl;
} } } end:
cout << endl;cout << endl;
cout << endl;system("pause");}