Нужно написать программу для вычисления косинуса в кубе по формуле http://imageshack.us http://g.imageshack.us/img387/72375722op7.jpg/1/ Вот мой код:
| Код | // L4.cpp : Defines the entry point for the console application. //
#include "stdafx.h" #include "string.h" #include "windows.h" #include "stdio.h" #include "stdlib.h" #include "math.h"
char* rus(const char* text) { char* buf = new char [strlen(text)]; CharToOemA(text, buf); return buf; }
double myf (double x, double e) { int n; double a,b,xn,xpn,res; xpn=res=0; a=b=n=xn=1; while (fabs(xn-xpn)>=e) { xpn=xn; a*=(9*pow(x,2.0))/(2*n*(2*n-1)); b*=(pow(x,2.0))/(2*n*(2*n-1)); xn=0.25*pow(-1,(double)n)*(a+3*b); res+=xn; } return res; }
double winf (double x) { double res; res=pow(cos(x),3); return res; }
void main(void) { double xn,xk,e,dx,x,nev; printf(rus("Введите начальное значение х:")); scanf("%f",&xn); printf("\n"); printf(rus("Введите конечное значение х:")); scanf("%f",&xk); printf("\n"); printf(rus("Введите шаг:")); scanf("%f",&dx); printf("\n"); printf(rus("Введите точность:")); scanf("%f",&e); printf("\n"); printf(" ---------------------------------------------------------------- \n"); printf(rus("| Х | Рядная функция |Стандартная функция| Невязка |\n")); printf(" ---------------------------------------------------------------- \n"); for (x=xn;x<=xk;x+=dx) { nev=sqrt(fabs(pow(myf(x,e),2.0)-pow(winf(x),2.0))); printf("|5.2f|19.9f|19.9f|19.9f|",x,myf(x,e),winf(x),nev); } }
|
Почему-то не работает. Помогите, пожалуйста, найти ошибку. |