Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/02/2007, 13:01
blackwind
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 21 años, 1 mes
Puntos: 7
Re: Resolver ecuacion

que tal,

Primero que nada, sabes como resolverlo a mano en caso de que te de un valor imaginario?
Supongo que solamente te pediran que lo dejes expresado, entonces:
suponiendo que a = 100, b = 50, c = 500
sqrt(b^2 - 4ac) te daria un valor imaginario 'i'.
matematicamente lo podrias dejar expresado asi:
x = (-50 +/- i) 200

efectivamente, el float imaginario seria el resultado de la raiz cuadrada.

supongamos que tu codigo para programar la raiz cuadrada es asi:
float raizcuadrada = 0;
raizcuadrada = sqrt( (b*b) - (4*a*c) );

ahora vendria una condicion para saber que haras dependiendo si es imaginario o no:

if ( _isnan( raizcuadrada) ) // si es imaginario
{
// imprime el resultado expresado en forma imaginaria
}

else
{
// termina de resolver la ecuacion
// si llegas aqui, quiere decir que el resultado de tu
// raiz cuadrada, es un "float real"...
}

ahora, si tienes que resolver la ecuacion imaginaria.... sinceramente no recuerdo como se hacia, pero si no es asi, espero te haya servido mi explicacion.......

saludos,