Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main()
- {
- int i, j, k, n;
- float c, A[100][100], x[10], sum = 0.0;
- cout << "Enter the number of unknowns: ";
- cin >> n;
- //input
- cout << "Enter the Augmented Matrix: "<<endl;
- for(i = 1; i <= n; i++)
- {
- for(j = 1; j <= n+1; j++)
- {
- cin >> A[i][j];
- }
- }
- //forward elimination
- for(i=1; i<=n; i++)
- {
- for(j=1; j<=n; j++)
- {
- if(j>i)
- {
- c=A[j][i]/A[i][i]; //A[2][1]/A[1][1]
- for(k=1; k<=n+1; k++)
- {
- A[j][k]=A[j][k]-c*A[i][k]; // B[2][1] = A[2][1] - c * A[1][1]
- }
- }
- }
- }
- //Normalization
- for(i = 1; i<=n; i++)
- {
- float M = A[i][i];
- for(j = i; j<=n+1; j++)
- {
- A[i][j]/= M;
- }
- }
- cout << endl;
- //unnecessary print
- for(i = 1; i <= n; i++)
- {
- for(j = 1; j <= n+1; j++)
- {
- cout << A[i][j] << "\t";
- }
- cout<<endl;
- }
- cout<<endl;
- //backward elimination
- for(i=n; i>=1; i--)
- {
- for(j=n; j>=1; j--)
- {
- if(i>j)
- {
- c=A[j][i]/A[i][i];
- for(k=1; k<=n+1; k++)
- {
- A[j][k]=A[j][k]-c*A[i][k];
- }
- }
- }
- }
- //unnecessary print
- for(i = 1; i <= n; i++)
- {
- for(j = 1; j <= n+1; j++)
- {
- cout << A[i][j] << "\t";
- }
- cout<<endl;
- }
- //finding ans:
- x[n]=A[n][n+1]/A[n][n];
- for(i=1; i<=n; i++)
- {
- x[i] = A[i][n+1]/A[i][i];
- }
- //solution
- cout << "The solution is : " << endl;
- for(i=1; i<=n; i++)
- {
- cout << "x" << i << " = " << x[i]<< endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement