Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdexcept>
  3.  
  4. int main( )
  5. {
  6. try
  7. {
  8. int i = 0, j = 0, r = 0;
  9.  
  10. int n = 0; // dimensiune matrice
  11. int nrit = 0; // iteratii
  12.  
  13. std::cout << "Specifica dimensiunea: ";
  14. std::cin >> n;
  15.  
  16. double s1 = 0.0, s2 = 0.0;
  17.  
  18. double * b = new double[ n ]( );
  19. double * y = new double[ n ]( );
  20. double * x = new double[ n ]( );
  21. double * x0 = new double[ n ]( );
  22.  
  23. double ** A = new double * [ n ]( );
  24.  
  25. for( i = 0; i < n; i ++ )
  26. {
  27. A[ i ] = new double[ n ]( );
  28. }
  29.  
  30. std::cout << std::endl << "Introdu matricea A:" << std::endl;
  31.  
  32. for( i = 0; i < n; i ++ )
  33. {
  34. for( j = 0; j < n; j ++ )
  35. {
  36. std::cout << "A[" << i << "][" << j << "]: ";
  37. std::cin >> A[ i ][ j ];
  38. }
  39. }
  40.  
  41. std::cout << std::endl << "Introdu vectorii liberi:" << std::endl;
  42.  
  43. for( i = 0; i < n; i ++ )
  44. {
  45. std::cout << "b[" << i << "]: ";
  46. std::cin >> b[ i ];
  47. }
  48.  
  49. std::cout << std::endl << "Introdu valorile initiale:" << std::endl;
  50.  
  51. for( i = 0; i < n; i ++ )
  52. {
  53. std::cout << "x0[" << i << "]: ";
  54. std::cin >> x0[ i ];
  55. }
  56.  
  57. std::cout << std::endl << "Introdu numarul de iteratii: ";
  58. std::cin >> nrit;
  59.  
  60. for( i = 0; i < n; i ++ )
  61. y[ i ] = x0[ i ];
  62.  
  63. std::cout << std::endl << std::endl << "Rezultat:";
  64.  
  65. for( r = 1; r <= nrit; r ++ )
  66. {
  67. std::cout << std::endl << "Iteratia " << r << ":" << std::endl;
  68.  
  69. for( i = 0; i < n; i ++ )
  70. {
  71. x[ i ] = y[ i ];
  72.  
  73. std::cout << "x[ " << i << " ] = " << x[ i ] << std::endl;
  74. }
  75.  
  76. for( i = 0; i < n; i ++ )
  77. {
  78. s1 = s2 = 0;
  79.  
  80. for( j = 0; j < i; j ++ )
  81. s1 += A[ i ][ j ] * y[ j ];
  82.  
  83. for( j = i + 1; j <= n - 1; j ++ )
  84. s2 += A[ i ][ j ] * x[ j ];
  85.  
  86. y[ i ] = ( b[ i ] - s1 - s2 ) / A[ i ][ i ];
  87. }
  88. }
  89. }
  90.  
  91. catch( std::exception &e )
  92. {
  93. std::cout << "S-a produs o eroare:" << e.what( );
  94. }
  95.  
  96. return 1;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement