![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.08.2008
Сообщений: 5
|
![]()
Здраствуйте дикриминант не высчитывает
x1:=(-b-(sqrt(d)))/(2*a); x2:=(-b+(sqrt(d)))/(2*a); - вот эти формулы выводят не правильные цифры Подскажите в чём ошибка? procedure TForm1.Button1Click(Sender: TObject); var a:real; b:real; c:real; d:real; x1:real; x2:real; x3:real; begin a:=strtofloat(edit1.Text); b:=strtofloat(edit2.Text); c:=strtofloat(edit3.Text); x1:=(-b-(sqrt(d)))/(2*a); x2:=(-b+(sqrt(d)))/(2*a); d:=(sqr(b))-(4*a*c); x3:=-b/2*a; if d>0 then memo1.Lines.Add(floattostr(x1)+floa ttostr(x2)); if d<0 then memo1.Lines.Add('menshe 0'); if d=0 then memo1.Lines.Add(floattostr(x3)); end; |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 25.03.2007
Сообщений: 166
|
![]()
Может потому что вычисление дискриминанта нужно сделать перед вычислением корней.
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 22.08.2008
Сообщений: 5
|
![]()
Так я уже пробавал не выходит вообще
а так какие цыфры выходят но неправильные |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Писать надо так, чтобы компьютер на каждом шаге знал, что ему делать, а если Вы пишите все не по порядку, не указывая что делать, то и ответы такие будут. Напишите так:
Код:
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]()
и ещё один случай, если "a"=0
|
![]() |
![]() |