Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.71 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. #include < math.h >
  4.  
  5. double round (double x)
  6. {
  7. return ((x - floor(x)) >= 0.5) ? ceil(x) : floor(x);
  8. }
  9.  
  10. int main()
  11. {
  12. setlocale(LC_ALL, "Russian");
  13. int i,j,m;//,n,h;
  14. cout << "введите количество элементов после запятой m=";
  15. cin >> m;
  16. //cout << "введите количество строк матрицы B n+1=";
  17. //cin >> n;
  18. //cout << "введите количество столбцов матрицы B h+1=";
  19. //cin >> h;
  20. double long B[100][100];
  21. double long C[100][100];
  22. long double A[3][4];
  23. A[1][1]=1.2345; A[2][1]=2.3456; A[3][1]=3.4567; A[1][2]=3.1415; A[1][3]=1; A[1][4]=7.7975; A[2][2]=5.9690; A[3][2]=2.1828; A[2][3]=0; A[2][4]=14.2836; A[3][3]=2.8; A[3][4]=8.6063;
  24.  
  25. for(i=1; i<4; i++)
  26. {
  27. B[i][1]=(round((A[i][1])*pow(10,m)))/pow(10,m);
  28. }
  29.  
  30.  
  31. for(j=1; j<5; ++j)
  32. {
  33. C[1][j]=(round((A[1][j]/B[1][1])*pow(10,m))/pow(10,m));
  34. }
  35.  
  36. for(i=1; i<4; ++i)
  37. {
  38. B[i][2]=(round((A[i][2]-(round((B[i][1]*C[1][2])*pow(10,m)))/pow(10,m))*pow(10,m)))/pow(10,m);
  39. }
  40.  
  41. for(j=3; j<5; j++)
  42. {
  43. C[2][j]=(round((((round((A[2][j]-((round((B[2][1]*C[1][j])*pow(10,m)))/pow(10,m)))*pow(10,m)))/pow(10,m))/B[2][2])*pow(10,m)))/pow(10,m);
  44. }
  45.  
  46.  
  47. B[3][3]=(round((B[3][1]*C[1][3])*pow(10,m)))/pow(10,m); B[3][3]=(round((B[3][3])*pow(10,m)))/pow(10,m)+(round((B[3][2]*C[2][3])*pow(10,m)))/pow(10,m); B[3][3]=A[3][3]-(round((B[3][3])*pow(10,m)))/pow(10,m); B[3][3]=(round((B[3][3])*pow(10,m)))/pow(10,m);
  48.  
  49. C[3][4]=(round((B[3][1]*C[1][4])*pow(10,m)))/pow(10,m); C[3][4]=C[3][4]+(round((B[3][2]*C[2][4])*pow(10,m)))/pow(10,m); C[3][4]=A[3][4]-(round((C[3][4])*pow(10,m))/pow(10,m)); C[3][4]=(round((C[3][4])*pow(10,m))/pow(10,m))/B[3][3];
  50. C[3][4]=(round((C[3][4])*pow(10,m))/pow(10,m));
  51. double x1,x2,x3,z1,z2,z3;
  52. //Решаем систему Bz = b
  53. z1 = A[1][4]/B[1][1];
  54. z1 = round(z1*pow(10,m)) / pow(10,m);
  55. z2 = (A[2][4]-(B[2][1]*z1))/B[2][2];
  56. z2 = round(z2*pow(10,m)) / pow(10,m);
  57. z3 = ((A[3][4] - (B[3][1]*z1) - (B[3][2]*z2))) / B[3][3];
  58. z3 = round(z3*pow(10,m)) / pow(10,m);
  59.  
  60. // Решаем систему Cx = z
  61.  
  62.  
  63.  
  64. x3 = C[3][4];
  65. x3 = round(x3*pow(10,m)) / pow(10,m);
  66. x2 = C[2][4] - (round((C[2][3]*x3)*pow(10,m))/pow(10,m));
  67. x2 = round(x2*pow(10,m)) / pow(10,m);
  68. x1=C[1][4]-C[1][3]*x3-C[1][2]*x2;
  69. x1 = round(x1*pow(10,m)) / pow(10,m);
  70. cout << "Матрица А \n";
  71. for(i=1; i<4;i++)
  72. {
  73. for (j=1;j<5;j++)
  74. cout << (round((A[i][j])*pow(10,m)))/pow(10,m) << "\t" ;
  75. cout << endl;
  76. }
  77.  
  78. cout << "Матрица D" << endl;
  79. cout << "1 строка: " << B[1][1] << " " << C[1][2] << " " << C[1][3] << " " << C[1][4] << endl;
  80. cout << "2 строка: " << B[2][1] << " " << B[2][2] << " " << C[2][3] << " " << C[2][4] << endl;
  81. cout << "3 строка: " << B[3][1] << " " << B[3][2] << " " << B[3][3] << " " << C[3][4] << endl << endl << endl;
  82.  
  83.  
  84. cout << "Решение СЛАУ" << endl;
  85. cout << "x1=" << x1 << " " << "x2=" << x2 << " " << "x3=" << x3 << endl;
  86. cout << "Решение СЛАУ" << endl;
  87. cout << "z1=" << z1 << " " << "z2=" << z2 << " " << "z3=" << z3 << endl;
  88.  
  89.  
  90.  
  91.  
  92. cout
  93. << "B[1][1]=" << B[1][1] << endl
  94. << "B[2][1]=" << B[2][1] << endl
  95. << "B[3][1]=" << B[3][1] << endl
  96. << "B[2][2]=" << B[2][2] << endl
  97. << "B[3][2]=" << B[3][2] << endl
  98. << "B[3][3]=" << B[3][3] << endl
  99. << "C[1][2]=" << C[1][2] << endl
  100. << "C[1][3]=" << C[1][3] << endl
  101. << "C[1][4]=" << C[1][4] << endl
  102. << "C[2][3]=" << C[2][3] << endl
  103. << "C[2][4]=" << C[2][4] << endl
  104. << "C[3][4]=" << C[3][4] << endl;
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement