silent_1991
5003 / 3061 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
|
11.10.2010, 21:59
|
|
Ваш код не смотрел.
Проверяйте.
C | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
| #include <stdio.h>
#include <math.h>
double series(double x, double epsilon, int *n, double *last);
int main()
{
double x;
double epsilon;
double last;
int n;
while (1)
{
printf("Enter x (-25 < x < 25): ");
scanf("%lf", &x);
if (x < -25.0 || x > 25.0)
printf("x must be in range of -25 to 25");
else
break;
}
while (1)
{
printf("Enter epsilon (0 < epsilon <= 1): ");
scanf("%lf", &epsilon);
if (epsilon <= 0.0 || epsilon > 1.0)
printf("epsilon must be in range of 0 to 1");
else
break;
}
printf("Sum of series: %lf", series(x, epsilon, &n, &last));
printf("\nNumber of terms: %d", n);
printf("\nLast term: %lf", last);
getch();
return 0;
}
double series(double x, double epsilon, int *n, double *last)
{
double sum;
double an;
int den;
int k;
int sign;
sum = 0.0;
k = 4;
den = 1;
sign = -1;
do
{
an = sign * x * (k + x);
an /= 2 * den;
k += 4;
den *= k / 4;
if ((k / 4) % 2 == 0)
sign *= -1;
sum += an;
}
while (fabs(an) >= epsilon);
*n = k / 4;
*last = an;
return sum;
} |
|
0
|