Я создаю код, который может решить квадратное c уравнение, однако я получаю эту ошибку. Он выделяет функцию x = каждый раз. Я не знаю, что с этим не так, пожалуйста, помогите. Код ниже.
Option Explicit
Sub main()
Dim a As Double
Dim b As Double
Dim c As Double
Dim x1 As Long
a = InputBox("Write a number for a")
b = InputBox("Write a number for b")
c = InputBox("Write a number for c")
x1 = (-b + Sqr((b ^ 2) - (4 * a * c))) / (2 * a)
MsgBox (x1)
End Sub
edit: Благодаря помощи мне удалось запустить программу. Однако числа, которые я получаю для x1 и x2, кажется, не имеют смысла, пытаясь превратить их обратно в уравнение.
Option Explicit
Sub main()
Dim a As Double
Dim b As Double
Dim c As Double
Dim x1 As Double
Dim x2 As Double
a = InputBox("Write a number for a")
b = InputBox("Write a number for b")
c = InputBox("Write a number for c")
'If statement to check if items inside sqr are negative. Being negative would create an imaginary number, and we only need real numbers.
If (b ^ 2) - (4 * a * c) < 0 Then
MsgBox ("The selected numbers for a, b, and c would make an imaginary number. Please try again.")
'If the selected values for abc do not create an imaginary number, the equation is run giving the two values of the x's.
Else
x1 = (-b + Sqr((b ^ 2) - (4 * a * c))) / (2 * a)
x2 = (b + Sqr((b ^ 2) - (4 * a * c))) / (2 * a)
'Msgbox showing the equation with the values for abc and the values for x1 and x2.
MsgBox (a & "(x^2)+" & b & "x+" & c & vbNewLine & "x1=" & x1 & vbNewLine & "x2=" & x2)
End If
End Sub
Редактировать: Неважно. У меня был переключен негатив. Спасибо.