Помогите или подтолкните к решению этакой задачи. Пока совсем не понимаю с чего начинать и как это записывать в виде кода. нужно вычистить xi и yi и вставлять это в ряд или может по другому?
Пишу только потому, что De74ttempt дал свой ответ, так что уже в любом случае решение учебной задачи выдано :)
Люди, ну нельзя же так работать - для каждого члена считать свой факториал отдельной функцией, знак получать возведением в степень, для квадрата использовать pow, массивы создавать (кстати, еще и не разрешенным в C++ способом)... Молчу, что факториал при a == 13 накроется.
double Series(int n)
{
int sign = -1;
double x = 1.0, y = 1.0;
double fact = 1.0, sum = 0.0;
for(int i = 2; i <= n; ++i)
{
double z = x;
x = x + y/i/i;
y = y + z/i;
sum += (x + (sign=-sign)*y)/(fact *= i);
}
return sum;
}
Я думаю вам должно помочь это:
#include <iostream>
#include <cmath>
int calcFactorial(int a){ //функция подсчёта факториала
int res = 1;
for (int i = 1; i <= a; i++) {
res = res * i;
}
return res;
}
int main(){
int n = 3; //задаёте n с начала
//std::cin >> n; //либо вводите через консоль
float x[n+1], y[n+1];
x[1] = 1, y[1] = 1;
for (int i=2; i<=n; i++){
x[i] = x[i-1] + y[i-1]/(pow(i, 2));
y[i] = y[i-1] + x[i-1]/i;
}
float sum = 0;
float result = 0;
for (int i=1; i<=n; i++){
sum+=x[i]+(pow(-1, i))*y[i];
sum/=calcFactorial(i);
result+=sum;
sum = 0;
}
std::cout << result << std::endl; //вывод результата
system("pause");
return 0;
}
cpp.sh
Сборка персонального компьютера от Artline: умный выбор для современных пользователей