Выражение
|
|
WereWolf | Дата: Понедельник, 20 Сентября 2010, 11:21 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Доброго времени всем! Помогите реализовать выражение, начал реализовывать, но дошел до последнего действия и получился перегруз оператора POW. Вот выражение которое надо сделать: Вот мой код, но не могу дописать никак: Code
#include <iostream> #include <conio.h> #include <math.h> using namespace std;
int main() { double x=-4.5; double y=0.75*pow(10,1./4); double z=0.845*pow(10,1./2); long double c,d,f,g; double tang = pow(cs,2)*z; c = pow(8+pow(abs(x-y),2)+1,1./3); d = c/pow(x,2)+pow(y,2)+2; f = d - exp(abs(x-y)); g = f*pow(tang+1,x); cout <<"Otvet:"<<g; getch(); return 0; } PS Реализация на Visual C++ 2010 Cпасибо!
В мире много глюков - и с ними надо жить!!!
|
|
| |
JohnJ | Дата: Понедельник, 20 Сентября 2010, 12:18 | Сообщение # 2 |
участник
Сейчас нет на сайте
| Что значит перегруз оператора pow? я не си-программист, поэтому просто интересно Зачем искать u, если оно уже дано в "При"? Если этот просто ответ для cверки, то на php я писал бы так: $x = -4.5 $y = 0.000075; $z = 0.00845; $u = (pow(8 + pow($x - $y, 2) + 1, 1/3) / ($x * $x + $y * $y + 2) - exp(abs($x - $y)) * pow(pow(tan(z), 2) + 1, x);
Сообщение отредактировал JohnJ - Понедельник, 20 Сентября 2010, 12:19 |
|
| |
BlooDVlaD | Дата: Понедельник, 20 Сентября 2010, 12:52 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Не объявлена переменная cs. Добавь в объявлениях переменных. И вообще формула рассчитана математически неправильно. Ты вначале от дроби отнимаешь экспоненту, а потом умножаешь это на (tg z...). А надо экспоненту умножить на (tg z...), а потом отнимать от дроби. И в знаменателе дроби пропущены скобки. В общем две ошибки математические и одна в коде. Вот работающий код: Code #include <iostream> #include <conio.h> #include <math.h> using namespace std;
int main() { double x=-4.5; double y=0.75*pow(10,1./4); double z=0.845*pow(10,1./2); long double c,d,f,g; double cs = tan(z); double tang = pow(cs,2)*z; c = pow(8+pow(abs(x-y),2)+1,1./3); d = c/(pow(x,2)+pow(y,2)+2); f = exp(abs(x-y))*pow(tang+1,x); g = d - f; cout <<"Otvet:"<<g; getch(); return 0; }
|
|
| |
DekaSoft | Дата: Понедельник, 20 Сентября 2010, 12:54 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| Quote (WereWolf) double x=-4.5; double y=0.75*pow(10,1./4); double z=0.845*pow(10,1./2) Вообще бред. pow(10,1./4) - это корень 4-й степени из 10, а не 10 в минус четвертой. Напиши просто: Code x = -4.5 y = 0.000075; z = 0.00845 Ну и предыдущее замечание тоже актуально. Переменной cs нету.
http://dekasoftware.narod.ru http://www.dekagames.com
Сообщение отредактировал DekaSoft - Понедельник, 20 Сентября 2010, 13:00 |
|
| |
BlooDVlaD | Дата: Понедельник, 20 Сентября 2010, 13:01 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Code double y=0.75*pow(10,(-4)); double z=0.845*pow(10,(-2))
|
|
| |
WereWolf | Дата: Понедельник, 20 Сентября 2010, 13:25 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| Code #include <iostream> #include <conio.h> #include <math.h> using namespace std;
int main() { double x=-4.5; double y=0.000075; double z=0.00845; long double c,d,f,g; double cs = tan(z); double tang = pow(cs,2)*z; c = pow(8+pow(abs(x-y),2)+1,1./3); d = c/(pow(x,2)+pow(y,2)+2); f = exp(abs(x-y))*pow(tang+1,x); g = d - f; cout <<"Otvet:"<<g; getch(); return 0; } Вот получившийся код, только вот ответ: -89.8852 , а должен быть -55.6848
В мире много глюков - и с ними надо жить!!!
|
|
| |
DekaSoft | Дата: Понедельник, 20 Сентября 2010, 19:07 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| Quote (WereWolf) Вот получившийся код, только вот ответ: -89.8852 И это правильный ответ. Проверил на калькуляторе
http://dekasoftware.narod.ru http://www.dekagames.com
Сообщение отредактировал DekaSoft - Понедельник, 20 Сентября 2010, 19:10 |
|
| |
BlooDVlaD | Дата: Вторник, 21 Сентября 2010, 02:09 | Сообщение # 8 |
частый гость
Сейчас нет на сайте
| Калькулятор надежнее кода
|
|
| |
WereWolf | Дата: Вторник, 21 Сентября 2010, 09:46 | Сообщение # 9 |
частый гость
Сейчас нет на сайте
| ))) Так что получается, ошибка в ответе, который давался изначально?
В мире много глюков - и с ними надо жить!!!
|
|
| |