Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<math.h>
- #include<stdlib.h>
- #define N 8
- #define A -1.0
- #define B 5.0
- double REALANS = 42.0;
- double f(double x) {
- return x*(x - 1)*(x - 2)*(x - 3)*(x - 4) + 7;
- }
- int main() {
- double e = 1, h;
- int n = 1;
- while (e > 0.00001) {
- h = 6.0 / (N*n);
- double *x = (double*)malloc(sizeof(double)*N*n);
- double *y = (double*)malloc(sizeof(double)*N*n);
- for (int i = 0; i < n*N; i++) {
- x[i] = -1 + h*i;
- y[i] = f(x[i]);
- }
- double ans = 0;
- for (int i = 0; i < n*N; i++) {
- if (i == 0 || i == n*N - 1) {
- ans += y[i];
- }
- else {
- ans += y[i] * 2;
- }
- }
- ans *= h / 2;
- e = fabs(REALANS - ans);
- printf("ans = %.6f e=%.6f N=%d\n", ans, e, n*N);
- n = n * 2;
- free(x);
- free(y);
- }
- printf("------end------\n");
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement