Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.00 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int main() {
  4. double vx[4]={1, 3, 4, 5}, vy[4]={0, 6, 24, 60}, *difere, *aux, *resultado, *coef, *suporte;
  5. int n=4, i, j,m=0,f=0;
  6.  
  7. resultado=malloc(sizeof(double)*n);
  8. coef=malloc(sizeof(double)*n);
  9. suporte=malloc(sizeof(double)*n);
  10.  
  11. difere=malloc(sizeof(double)*n);
  12. aux=malloc(sizeof(double)*n);
  13.  
  14. for(i=0; i<n; i++) {
  15.   aux[i]=0;
  16.   difere[i]=0;
  17. }
  18.  
  19. aux[0]=vy[0];
  20.  
  21. for(i=1; i<n; i++) {
  22.   aux[i]= (vy[i]-vy[i-1])/(vx[i]-vx[i-1]);
  23.   }
  24.  
  25.  
  26. difere[0]=aux[0];
  27. difere[1]=aux[1];
  28.  
  29. for(i=2; i<n; i++) {
  30.   for(j=1; j<=i; j++){
  31.     if(j==i) difere[i]=difere[i] + aux[j];
  32.     else difere[i]=difere[i]-aux[j];
  33.   }}
  34.  
  35. for(i=2; i<n; i++) {
  36.   difere[i]=difere[i]/(vx[i]-vx[0]);
  37.   }
  38.  
  39. for(i=0; i<n;i++)
  40. printf("Diferenca dividida %d: %f\n", i, difere[i]);
  41.  
  42.     for (i=0; i<n ; i++) {
  43.         resultado[i]= 0;
  44.         coef[i]=0;
  45.         suporte[i]=0;
  46.     }
  47.  
  48.     resultado[0] =vy[0];
  49.     resultado[1] = difere[1];
  50.     resultado[0] += (-1)*difere[1];
  51.  
  52.     coef[0] = vx[0]*vx[1];
  53.     coef[1] = -vx[0] -vx[1];
  54.     coef[2] = 1;
  55.  
  56.     resultado[0] += difere[2]*coef[0];
  57.     resultado[1] += difere[2]*coef[1];
  58.     resultado[2] += difere[2]*coef[2];
  59.  
  60.     for (m=2; m<n; m++) {
  61.  
  62.  
  63.         for (i = 0; i<n; i++) {
  64.             suporte[i] = coef[i];
  65.             printf("%6.f", suporte[i]);
  66.             printf("%6.f", coef[i]);
  67.         }
  68.  
  69.         for (i = 1; i<n ;i++) {
  70.             coef[i] = suporte[i-1];
  71.             suporte[i] *= -vx[m];
  72.             printf("sup %6.f", suporte[i]);
  73.             printf("coef %6.f", coef[i]);
  74.         }
  75.  
  76.         for (i = 0; i<n;i++) {
  77.             coef[i] = coef[i]+suporte[i];
  78.             printf("sup %6.f", suporte[i]);
  79.             printf("%coef 6.f", coef[i]);
  80.         }
  81.  
  82.         for (i = 0;i<n; i++) {
  83.             resultado[i] += coef[i]*difere[m];
  84.             printf("%6.f", suporte[i]);
  85.             printf("%6.f", coef[i]);
  86.         }
  87.     }
  88.  
  89.  
  90.      for (i=0;i<n;i++) {
  91.         printf("a%d %f\n", i, resultado[i]);
  92.      }
  93.      return 0;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement