Тема: на мові сі, щось не правильно

вичислити і вивести на екран у вигляді таблиці значення функції, задануз допомогою ряду Тейлора, на інтервалі xmax до xmin з кроком dx з точністю ебсілент. Завдання 3
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void function(void);

int main()
{
function();
return 0;
}

void function(void)
{
int n=0;
double E=0.00001, S=1, F, dX=0.1, x, Xmax=4, Xmin=-1,absF=E+1;
x=Xmin;

while(absF > E)
{
if(x>=Xmax)
break;
F=(pow(-1,n)*pow(x,n))/n;
S+=F;
printf("F = %.5f\tX = %.5f\tS = %d\n",F,x,n+1);
++n;
x+=dX;
absF=absF;
}
printf("\n\nS = %.5f",S);

    return 0;
}

2

Re: на мові сі, щось не правильно

1. Поставте теги code (кнопочка <>) навколо свого кода
2. Зробіть відступи, читати незручно.
3. Опишіть це "щось". Бо "щось" виправляється лише "чимось". Хочете конкретну відповідь - намагайтеся ставити конкретні питання.
4. Завдання теж наведіть повністю. З телепатією у форумчан стабільні проблеми.
5. Епсилон (велика Ε, мала ε; грец. Έψιλον) — п'ята літера грецької абетки. Назва ("просте е") вживається, щоб відрізнити її від інших літер, що мають таку саму вимову. В математиці часто використовується для позначення якоїсь невеликої величини.

3 Востаннє редагувалося ivannamukolaivna3 (27.12.2016 21:29:02)

Re: на мові сі, щось не правильно

ось завдання

Post's attachments

Screenshot_2016-12-27-18-58-39[1].png 67.57 kb, 183 downloads since 2016-12-27 

4

Re: на мові сі, щось не правильно

У цьому рядку

F=(pow(-1,n)*pow(x,n))/n;

відбувається ділення на нуль на першій ітерації. Також, умова в циклі while завжди виконується(бо absF та Е не змінюються), останній рядок циклу(absF=absF) досить дивний, а загалом виходить, що від E та absF результат не залежить. Щодо суті завдання, то вам потрібно, наскільки я розумію, окремо отримати для кожного значення x значення функції. Тобто для кожного x має відбуватись окрема ітерація по n, поки не досягнеться потрібна точність. А тут один цикл, який одночасно збільшує і x, і n, при цьому рахує значення чергового члена ряду Тейлора за неправильною формулою(бо у знаменнику в умові стоїть n! а не n) з неправильними змінними.

Подякували: ivannamukolaivna31