Advertisement
Guest User

Untitled

a guest
Nov 19th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. double ObGaussa(double a, double b, int w, double TabT[], double TabA[])
  2. {
  3. double wyn = 0;
  4. for(int i = 0; i < w; i++)
  5. {
  6. wyn += TabA[i]*(1/(((b-a)/2)*TabT[i]+((b+a)/2)));
  7. }
  8. wyn *= ((b-a)/2);
  9. return wyn;
  10. }
  11.  
  12. double W1Gaussa(double a, double b)
  13. {
  14. double TabT[1];
  15. double TabA[1];
  16. TabA[0] = 2;
  17. TabT[0] = 0;
  18. return ObGaussa(a, b, 1, TabT, TabA);
  19. }
  20.  
  21. double W2Gaussa(double a, double b)
  22. {
  23. double TabT[2];
  24. double TabA[2];
  25. TabA[0] = 1;
  26. TabA[1] = 1;
  27. TabT[0] = -0.57735;
  28. TabT[1] = 0.57735;
  29. return ObGaussa(a, b, 2, TabT, TabA);
  30. }
  31.  
  32. double W3Gaussa(double a, double b)
  33. {
  34. double TabT[3];
  35. double TabA[3];
  36. TabA[0] = 0.55556;
  37. TabA[1] = 0.55556;
  38. TabA[2] = 0.88889;
  39. TabT[0] = -0.7746;
  40. TabT[1] = 0.7746;
  41. TabT[2] = 0;
  42. return ObGaussa(a, b, 3, TabT, TabA);
  43. }
  44.  
  45. double W4Gaussa(double a, double b)
  46. {
  47. double TabT[4];
  48. double TabA[4];
  49. TabA[0] = 0.34785;
  50. TabA[1] = 0.34785;
  51. TabA[2] = 0.65215;
  52. TabA[3] = 0.65215;
  53. TabT[0] = -0.86114;
  54. TabT[1] = 0.86114;
  55. TabT[2] = -0.33998;
  56. TabT[3] = 0.33998;
  57. return ObGaussa(a, b, 4, TabT, TabA);
  58. }
  59.  
  60. double W5Gaussa(double a, double b)
  61. {
  62. double TabT[5];
  63. double TabA[5];
  64. TabA[0] = 0.23693;
  65. TabA[1] = 0.23693;
  66. TabA[2] = 0.47863;
  67. TabA[3] = 0.47863;
  68. TabA[4] = 0.56889;
  69. TabT[0] = -0.90618;
  70. TabT[1] = 0.90618;
  71. TabT[2] = -0.53847;
  72. TabT[3] = 0.53847;
  73. TabT[4] = 0;
  74. return ObGaussa(a, b, 4, TabT, TabA);
  75. }
  76.  
  77. void Gaussa()
  78. {
  79. int w;
  80. double a, b, wyn;
  81. cout << "Podaj a: ";
  82. cin >> a;
  83. cout << "Podaj b: ";
  84. cin >> b;
  85. cout << "Podaj w (1 - 5): ";
  86. cin >> w;
  87. switch (w)
  88. {
  89. case 1 : wyn = W1Gaussa(a, b); break;
  90. case 2 : wyn = W2Gaussa(a, b); break;
  91. case 3 : wyn = W3Gaussa(a, b); break;
  92. case 4 : wyn = W4Gaussa(a, b); break;
  93. case 5 : wyn = W5Gaussa(a, b); break;
  94. default : cout << "Brak implementacji powyzej 5 wezlow!" << endl; return; break;
  95. }
  96. cout << "Pole: " << wyn << endl;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement