Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdexcept>
- int main( )
- {
- try
- {
- int i = 0, j = 0, r = 0;
- int n = 0; // dimensiune matrice
- int nrit = 0; // iteratii
- std::cout << "Specifica dimensiunea: ";
- std::cin >> n;
- double s1 = 0.0, s2 = 0.0;
- double * b = new double[ n ]( );
- double * y = new double[ n ]( );
- double * x = new double[ n ]( );
- double * x0 = new double[ n ]( );
- double ** A = new double * [ n ]( );
- for( i = 0; i < n; i ++ )
- {
- A[ i ] = new double[ n ]( );
- }
- std::cout << std::endl << "Introdu matricea A:" << std::endl;
- for( i = 0; i < n; i ++ )
- {
- for( j = 0; j < n; j ++ )
- {
- std::cout << "A[" << i << "][" << j << "]: ";
- std::cin >> A[ i ][ j ];
- }
- }
- std::cout << std::endl << "Introdu vectorii liberi:" << std::endl;
- for( i = 0; i < n; i ++ )
- {
- std::cout << "b[" << i << "]: ";
- std::cin >> b[ i ];
- }
- std::cout << std::endl << "Introdu valorile initiale:" << std::endl;
- for( i = 0; i < n; i ++ )
- {
- std::cout << "x0[" << i << "]: ";
- std::cin >> x0[ i ];
- }
- std::cout << std::endl << "Introdu numarul de iteratii: ";
- std::cin >> nrit;
- for( i = 0; i < n; i ++ )
- y[ i ] = x0[ i ];
- std::cout << std::endl << std::endl << "Rezultat:";
- for( r = 1; r <= nrit; r ++ )
- {
- std::cout << std::endl << "Iteratia " << r << ":" << std::endl;
- for( i = 0; i < n; i ++ )
- {
- x[ i ] = y[ i ];
- std::cout << "x[ " << i << " ] = " << x[ i ] << std::endl;
- }
- for( i = 0; i < n; i ++ )
- {
- s1 = s2 = 0;
- for( j = 0; j < i; j ++ )
- s1 += A[ i ][ j ] * y[ j ];
- for( j = i + 1; j <= n - 1; j ++ )
- s2 += A[ i ][ j ] * x[ j ];
- y[ i ] = ( b[ i ] - s1 - s2 ) / A[ i ][ i ];
- }
- }
- }
- catch( std::exception &e )
- {
- std::cout << "S-a produs o eroare:" << e.what( );
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement