5
respostas

desafio calculando baskara.

estou com essa dúvida pois está dando erro a1 = NaN(Não é um número) o mesmo para a2.

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int a = 2;
            int b = 4;
            int c = 6;


          double delta = b * b - 4 * a * c;
          double  a1 = (-b + Math.Sqrt(delta)) / (2 * a);
          double  a2 = (-b - Math.Sqrt(delta)) / (2 * a);

            MessageBox.Show("a1 = " + a1);

            MessageBox.Show("a2 = " + a2);
        }
    }
}
5 respostas

O seu delta é um número negativo, ou seja, a raíz será um número do conjunto complexo. O método sqrt de Math só calcula raízes de números positivos ou zero. Para isso, você deve garantir que o seu delta será não-negativo ou usar um outro método ( ou criar o seu próprio ) que consiga trabalhar com radicandos negativos.

Entendi Lucas, muito obrigado! explicou direito agora é ver como vou contornar isso com esses numeros mesmo.

Você pode usar a estrutura Complex, ela possui um método sqrt.

valeu obrigado Lucas.

Esta pergunta já esclareceu a minha pergunta na pergunta do Thiago da Silva. O que é NaN(Não é um numero)... Obrigado Thiago.