|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.04.2009, 22:08 | #1 |
Новичок
Джуниор
Регистрация: 03.04.2009
Сообщений: 1
|
Помогите решить задачу.
Помогите написать программу для решения кубических уравнений по формуле Кардано.
Вот мой вариант прогрммы, но программа не работает-после ввода коэффициентов уравнения выдаёт ошибку. Program s; Var x1,x2,x3,y1,y2,y3,z1,z2,q,p,a,b,c,d :real; Begin WriteLn('введите a,b,c'); ReadLn(a); ReadLn(b); ReadLn(c); readln(d); p:=-b*b/3*a*a + c/a; q:=2*b/27*a*a*a-b*c/3*a*a+d/a; z1:=-q/2+sqrt(q*q/4+p*p*p/27); z2:=-q/2-sqrt(q*q/4+p*p*p/27); y1:=exp(ln(z1)/3)+exp(ln(z1)/3); y2:=exp(ln(z1)/3)+exp(ln(z2)/3); y3:=exp(ln(z2)/3)+exp(ln(z2)/3); x1:=y1-b/3*a; x2:=y2-b/3*a; x3:=y3-b/3*a; WriteLn(x1:9:3); WriteLn(x2:9:3); WriteLn(x3:9:3); end. |
03.04.2009, 22:44 | #2 |
Участник клуба
Регистрация: 16.03.2009
Сообщений: 1,013
|
возможно под логарифмом получается ноль или отрицательное значение? надо в отладчике посмотреть.... или делать проверки на z1 и z2.
я бы советовал делать трассировку и смотреть на каком шаге прога вылетает.. если в строках с логарифмами, то 99% что аргумент <=0 P.S. алгоритм я не проверял.. потом посмотрю, если не получится то что выше написано...
Uguu~
Последний раз редактировалось __STDC__; 03.04.2009 в 22:48. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите решить задачу | Hranitel | Помощь студентам | 11 | 09.10.2008 16:25 |
Помогите решить задачу на C++ | TheWanderer | Общие вопросы C/C++ | 9 | 08.10.2008 21:16 |
Помогите решить задачу | pantera_88.07 | Общие вопросы C/C++ | 2 | 21.02.2008 15:09 |