Enviado em 13/12/2012 - 21:04h
Olá.
Estou escrevendo um simples programa para calcular as raízes de uma equação de segundo grau. O cálculo de raízes reais está funcionando perfeitamente. O problema está na parte dos complexos: a variável "raiz_delta" aparece como zero, mesmo possuindo outro valor.
Segue o código:
Estou escrevendo um simples programa para calcular as raízes de uma equação de segundo grau. O cálculo de raízes reais está funcionando perfeitamente. O problema está na parte dos complexos: a variável "raiz_delta" aparece como zero, mesmo possuindo outro valor.
Segue o código:
#include <math.h>
#include <stdio.h>
main()
{
float a, b, c, delta, raiz_delta;
printf("\nBHASKARA\n\n");
printf("\nDigite o valor de A: ");
scanf("%f", &a);
printf("\nDigite o valor de B: ");
scanf("%f", &b);
printf("\nDigite o valor de C : ");
scanf("%f", &c);
delta = (pow(b, 2) - 4*a*c);
if(delta >= 0)
{
if(delta == 0)
{
printf("\nA raiz x1 = %f", ((-b + sqrt(delta))/2*a));
}
else
{
printf("\nA raiz x1 = %f", ((-b + sqrt(delta))/2*a));
printf("\nA raiz x2 = %f", ((-b - sqrt(delta))/2*a));
}
}
else
{
delta = abs(delta);
raiz_delta = sqrt(delta);
printf("\nA raiz x1 = %f + %fi", ((-b)/2*a), ((raiz_delta)/2*a));
printf("\nA raiz x2 = %f - %fi", ((-b)/2*a), ((raiz_delta)/2*a));
}
return(0);
}