Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ecuación 2º Grado en C

Estas en el tema de Ecuación 2º Grado en C en el foro de C/C++ en Foros del Web. Buenas! Pues veréis, a la hora de poner esta ecuación: ¿Cómo la escribo en C? Sobre todo a la hora de llegar a -b+- Raíz.... ...
  #1 (permalink)  
Antiguo 01/11/2011, 13:01
jesusgox
Invitado
 
Mensajes: n/a
Puntos:
Ecuación 2º Grado en C

Buenas!

Pues veréis, a la hora de poner esta ecuación:




¿Cómo la escribo en C?
Sobre todo a la hora de llegar a -b+- Raíz....
He encontrado esto:

Código:
    des=pow(b,2)-(4*a*c);
    
    if (des==0)
    {
       x1=(-b)/(2*a);
       printf("El valor de x es x=%.4f\n",x1);   
    }
    else
        if(des<0)
           printf("No tiene solucion\n");
        else
        {
            x1=((-b)+sqrt(des))/(2*a);
            x2=((-b)-sqrt(des))/(2*a);
            printf("Los valores de x son \nx1= %.4f\nx2= %.4f\n",x1,x2);
            }
    system("pause");
    return 0;
}
Pero no lo entiendo...
GRACIAS!
  #2 (permalink)  
Antiguo 01/11/2011, 16:24
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Ecuación 2º Grado en C

Que no entiendes, ya lo tenes hecho!!

pow es la potencia. eleva a b al cuadrado.
sqrt es la raiz cuadrada.
Todo lo demas son cuentas. y chequeo de condiciones para ver si hay solucion.
  #3 (permalink)  
Antiguo 02/11/2011, 02:42
Avatar de Intael  
Fecha de Ingreso: octubre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Ecuación 2º Grado en C

#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
cout. setf ( ios :: fixed );
cout. precision (4);
double a,b,c,d,e,x1,x2;
cin>>a>>b>>c;
a<0 or a>0;
d=-b+(sqrt((b*b)-(4*a*c)));
e=-b-(sqrt((b*b)-(4*a*c)));
x1=d/(2*a);
x2=e/(2*a);
if (x1==x2) {cout<<x1<<endl;}
if (x1>x2) {cout<<x2<<" "<<x1<<endl;}
if (x1<x2) {cout<<x1<<" "<<x2<<endl;}
if ((b*b)-(4*(a*c))<0) {cout<<"sense solucio"<<endl;}
}
  #4 (permalink)  
Antiguo 02/11/2011, 10:35
 
Fecha de Ingreso: octubre-2011
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: Ecuación 2º Grado en C

en una ecuación de segundo grado siempre debe devolver dos raices si la discriminante es mayor a 0.

en el código que dejaste esta todo hecho.

des=pow(b,2)-(4*a*c); --> aqui crea la discriminante

despues solo hace el flujo con la discriminante, si es 0, es menor a 0 o si es mayor a 0

Si "des" es mayor a 0, ejecutará el código que está despues del segundo "else" y hallará las dos raices(positiva y negativa)

trata de ver eso bien con un libro y veras que tan fácil te resultará todo ;)

Etiquetas: grado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:40.