
C/C++
СРОЧНО Напишите пожалуйста программу на Си

С парой внешних функций:
#include <stdio.h>
#include <math.h>
double f(double x)
{ double u = sqrt(x), v = exp(u);
return (x + 1 - u) * v - (x + 1 + u) / v; }
double s(double x, double eps)
{ double p = 4 * sqrt(x) * x / 3, s = p, q = 1,
r, e = 1e303; while (e > eps) { q++; r = 2 * q;
p *= x / (r * (r + 1.)); e = q * q * p; s += e; }
return s; }
int main()
{ double eps, h = 0.05, i, x, sx, fx;
printf("eps: "); scanf("%lf", &eps);
for (i = 0; i < 6; i++) { x = 0.5 + i * h;
sx = s(x, eps); fx = f(x); printf
("%4.2f%22.16f%22.16f%15.4e\n",
x, sx, fx, sx - fx); } getchar();
getchar(); return 0; }
Суммирование ряда ведётся до тех пор, пока очередное слагаемое больше задаваемой точности. В таблице печатаются аргументы функции, значения разложения функции в ряд, значения самой функции и абсолютные ошибки, которые оказываются даже намного меньше задаваемой точности:

#include <stdio.h>
#include <math.h>
double f(double x)
{ double u = sqrt(x), v = exp(u);
return (x + 1 - u) * v - (x + 1 + u) / v; }
double s(double x, double eps)
{ double p = 4 * sqrt(x) * x / 3, s = p, q = 1,
r, e = 1e303; while (e > eps) { q++; r = 2 * q;
p *= x / (r * (r + 1.)); e = q * q * p; s += e; }
return s; }
int main()
{ double eps, h = 0.05, i, x, sx, fx;
printf("eps: "); scanf("%lf", &eps);
for (i = 0; i < 6; i++) { x = 0.5 + i * h;
sx = s(x, eps); fx = f(x); printf
("%4.2f%22.16f%22.16f%15.4e\n",
x, sx, fx, sx - fx); } getchar();
getchar(); return 0; }
Суммирование ряда ведётся до тех пор, пока очередное слагаемое больше задаваемой точности. В таблице печатаются аргументы функции, значения разложения функции в ряд, значения самой функции и абсолютные ошибки, которые оказываются даже намного меньше задаваемой точности:

double eps;
scanf("%lf", &eps);
for (int i = 0; i <= 5; ++i) {
double x = 0.5 + i / 20.0, s = 0.0, t;
int k = 0;
double q = 8 * sqrt(x);
do {
++k;
s += (t = (q *= x / (2 * k * (2 * k + 1))) * k * k);
} while (t >= eps);
printf("%.2f %.10f, %.10f\n", x, s, (x + 1.0 - sqrt(x)) * exp(sqrt(x)) - (x + 1.0 + sqrt(x)) * exp(-sqrt(x)));
}
scanf("%lf", &eps);
for (int i = 0; i <= 5; ++i) {
double x = 0.5 + i / 20.0, s = 0.0, t;
int k = 0;
double q = 8 * sqrt(x);
do {
++k;
s += (t = (q *= x / (2 * k * (2 * k + 1))) * k * k);
} while (t >= eps);
printf("%.2f %.10f, %.10f\n", x, s, (x + 1.0 - sqrt(x)) * exp(sqrt(x)) - (x + 1.0 + sqrt(x)) * exp(-sqrt(x)));
}
Похожие вопросы
- СРОЧНО Напишите пожалуйста программу на Си
- Напишите пожалуйста программу на СИ, массив стат или динам
- НАПИШИТЕ ПОЖАЛУЙСТА ПРОГРАММУ НА СИ
- Напишите пожалуйста программу на Си
- НАПИШИТЕ ПОЖАЛУЙСТА ПРОГРАММУ НА СИ
- Помогите пожалуйста написать программу на Си
- Написать программы на СИ
- Работа со структурами. Написать программу для СИ
- Помогите написать программу на СИ
- Написать программу на Си, помогите!!!
#include <stdio.h>
#include <math.h>
int main() { double eps; double x,s,t,k,q,u,v;
scanf("%lf", &eps); for (int i=0; i<=5; ++i)
{ x = 0.5 + i * 0.05, s = 0.0, t; k = 0;
q = 8 * sqrt(x); u = sqrt(x); v = exp(u);
do { ++k; s += (t = (q *= x / (2 * k * (2 * k
+ 1))) * k * k); } while (t > eps);
t = (x + 1 - u) * v - (x + 1 + u) / v;
printf("%.2f %.16f %.16f%12.4e\n",
x, s, t, s - t); } }