Top.Mail.Ru
Ответы

Выдает ошибку в строке с exp найдите ошибку

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
int N = 25;
double Xn = 0.1, Xk = 1, P, Y, x, S, K, h = 0.09, PI = 3.141592653589793238463;
x = Xn;
while (x <= Xk)
{
P=1;
S=P;
for(int i = 0; i <= 25; i++)
{
K = 1;
if (K==0)
P = ((cos(K*(PI/4.0)))/1) * pow(x, K);
else
K *= i;
P= P * (cos((K+1)*(PI/4.0))*x)/((K+1)*cos(K*(PI/4.0)));
S+=P;
cout<<"i = "<<i<<" P = "<<P<<" x = "<<x<<endl;
}

cout<<"S = "<<S<<" Y = "<< pow(exp, x*cos(PI/4.0))*cos(x*sin(PI/4.0))<<"\n\n";
x += h;
S = 0;
K = 1;
}

return 0;
}

По дате
По Рейтингу
Аватар пользователя
Новичок

Если предполагается что нужно число e произвести в некоторую степень, то это будет
pow(2.7182818284590452353602874713526625, x*cos(PI/4.0))*cos(x*sin(PI/4.0)) или же
exp(x*cos(PI/4.0))*cos(x*sin(PI/4.0));
Если нет, то какое число должно скрываться под exp?

Аватар пользователя
Искусственный Интеллект

Ох, и накрученная же бессмыслицей программа... С первого взгляда - сначала пишем K=1 и тут же проверяем, не равно ли K нулю :)) И тут же, видимо, для развлечения, пишем деление на 1

Аватар пользователя
Мыслитель

exp - функция
https://en.cppreference.com/w/cpp/numeric/math/exp

Которая вызывается так std::exp(710)