Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4.  
  5. int n;
  6. float a[100],b[100],c[100];
  7. float x;
  8.  
  9.  
  10. float wart(int k)            //wartosc wielmianu
  11. {
  12. if (k==n)
  13. {return b[n];}
  14. else
  15. {return wart(k+1)*x+b[k];}
  16. }
  17.  
  18. float wspol(int k)           //wspolczynniki wielmianu po podzieleniu
  19. {
  20. if (k==n) {c[k-1]=b[k]; return b[k];}
  21. else {if (k>0) {c[k-1]=wspol(k+1)*x+b[k];} return wspol(k+1)*x+b[k]; }
  22. }
  23.  
  24. main()
  25. {
  26. int i,j,s;
  27. float tmp;
  28. clrscr();
  29. printf("Algorytm Hornera - obliczanie wartosci znormalizowanych pochodnych wielomianu\nPodaj stopien wielomianu\n");
  30. scanf("%d", &n);
  31. if (n>100)
  32. {printf("Za duzy stopien wielomianu"); getche(); return(1); }
  33. printf("\nPodaj teraz kolejne wspolczynniki wielomianu.\nZaczynij od tego z najwieksza potega.\n");
  34. for(i=n; i>=0; i--)
  35. {printf("a%d ", i);
  36. scanf("%e", &a[i]);}
  37. printf("Podaj punkt x\n");
  38. scanf("%e", &x);
  39. printf("Podaj stopien pochodnej\n");
  40. scanf("%d", &s);
  41. if ((s<0)||(s>n)) {printf("zle wpisany stopien pochodnej"); getche(); return(1); }
  42.  
  43. for (i=0; i<=n; i++) {b[i]=a[i];}
  44. for (j=1; j<=s; j++)
  45. {tmp=wspol(0);
  46. for (i=0; i<=n; i++) {b[i]=c[i];}}
  47.  
  48. printf("Wartosc pochodnej znormalizowanej %d stopnia wynosi: %f",s,wart(0));
  49.  
  50. getche();
  51. return(0);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement