Cálculo de Bhaskara para raízes reais e complexas

Publicado por White Hawk (última atualização em 22/12/2012)

[ Hits: 29.223 ]

Download bhaskara.c




Calcula as raízes de uma equação do segundo grau, quer sejam reais ou complexas.

  



Esconder código-fonte

//Cálculo de raízes de equações do segundo grau, quer sejam reais ou complexas

#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 = fabs(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);
}

Scripts recomendados

CRONOMETRO DIGITAL

Comando goto

Parte 5 - Sessão de estudo sobre VETORES

PROGRAMA EMP. DE ENERGIA

Números randômicos


  

Comentários
[1] Comentário enviado por removido em 25/12/2012 - 01:04h

Na linha 25, no printf, você pode remover a função "sqrt(delta)" dentro da espressão, já que se o delta for zero, a raíz quadrada de delta será zero (raíz quadrada de 0 é 0)

[2] Comentário enviado por WhiteHawk em 26/12/2012 - 19:39h

Muito obrigado pela dica, amigo.

Até mais.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts