Magentax

simpson

Jan 19th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. //Cubatura
  2.  
  3. #include <stdio.h>
  4. #include <conio.h>
  5. #include <math.h>
  6. float I_Simpson(float,float,float,float,int,int);
  7. float f(float,float);
  8. int main(void)
  9. {
  10.     float a,b,c,d;
  11.     int m,n;
  12.  
  13.     printf("\nIntroduceti a,b,c,d : ");
  14.     scanf("%f,%f,%f,%f",&a,&b,&c,&d);
  15.     printf("\nIntroduceti m,n : ");
  16.     scanf("%d,%d",&m,&n);
  17.     printf("\nRezultatul este = %f",I_Simpson(a,b,c,d,m,n));
  18.     getch();
  19.  
  20.     return 1;   // din cauza functiei main()
  21. }
  22. float I_Simpson(float a,float b,float c,float d,int m,int n)
  23. {
  24.    float h,k;
  25.    float sum;
  26.    int i,j;
  27.    h=(b-a)/n;
  28.    k=(d-c)/m;
  29.    sum=0;
  30.    i=1;
  31.    do {
  32.       j=1;
  33.       do {
  34.     sum=sum+h*k*
  35.         (
  36.             f(a+(i-1)*h,c+(j-1)*k)+
  37.             f(a+(i+1)*h,c+(j-1)*k)+
  38.             f(a+(i-1)*h,c+(j+1)*k)+
  39.             f(a+(i+1)*h,c+(j+1)*k)+
  40.             4*f(a+i*h,c+(j+1)*k)+
  41.             4*f(a+i*h,c+(j-1)*k)+
  42.             4*f(a+(i-1)*h,c+j*k)+
  43.             4*f(a+(i+1)*h,c+j*k)+
  44.             16*f(a+i*h,c+j*k)
  45.         )/9;
  46.     j=j+2;
  47.     } while(j<=m-1);
  48.     i=i+2;
  49.     } while(i<=n-1);
  50.     return sum;
  51. }
  52. float f(float x,float y)
  53. {
  54.         return x+y ;
  55.     return 1/(x*y);
  56. }
Add Comment
Please, Sign In to add comment