Разложение в ряд Тейлора - C (СИ)
Формулировка задачи:
Пожалуйста, помогите исправить программу.
Условие:
http://s4.postimage.org/yQXtS-620b0f549d936458015e8978580b7174.png
Мой код:
#include <stdafx.h>
#include "stdio.h"
#include "conio.h"
#include <math.h>
void main ()
{
float x1,x2,dx,e,s,g,k=0,q,p,y,x;//k -количество
int n,d;//степень
printf ("Vvedite interval");
scanf ("%f",&x1);
scanf ("%f",&x2);
printf ("Vvedite shag");
scanf ("%f",&dx);
printf ("Vvedite tochnosnt'");
scanf ("%f",&e);
if (x1<x2) x=x2-x1; else x=x1-x2;
for (s=x1; s<x2; s=s+dx)
{
d++; // нахождение количества
n=-1;
q=x-1;
while (g<e)
{
g=g+p;
n++;
p=pow(s,n)/n;
}
printf ("%f ==> %f ==> %d\n", s,g,d);
}
getch ();
}Решение задачи: «Разложение в ряд Тейлора»
textual
Листинг программы
#include <stdafx.h>
#include "stdio.h"
#include "conio.h"
#include <math.h>
void main ()
{
float x1,x2,dx,e;//e -точность dx-шаг x1,x2- интервал
float s; //s-текущий х
int k=0;// k-количество
float y=0,y1=0,y2=0,y3=0,y4=0,g=0,n=0,t=0,AS=0;//y-разультат n-степень
printf ("Vvedite interval");
scanf ("%f",&x1);
scanf ("%f",&x2);
printf ("Vvedite shag");
scanf ("%f",&dx);
printf ("Vvedite tochnosnt'");
scanf ("%f",&e);
printf ("======================================\n");
printf ("||Nomer || Tekyhiy || Otvet ||\n");
printf ("======================================\n");
for (s=x1; s<=x2; s=s+dx)
{
k++;//количество просумированных членов ряда
g=s-1;//(х-1)^n+1
while (y<e)
{
y1=pow(-1,n); //(-1)^n
t=n+1;
y2=pow(g,t);//(x-1)^(n+1)
y3=y1*y2;// ((-1)^n)*((x-1)^(n+1))
y4=y3/t;//(((-1)^n)*((x-1)^(n+1)))/n+1
y=y+y4;//приращение ряда
y1=0; y2=0; y3=0; y4=0;
n++;//приращение степени
}
printf ("||%i || %f || %f||\n",k,s,y);
printf ("======================================\n");
}
getch ();
}