# Gauss Jordan Method C++ Program Algorithm & Example ## Gauss Jordan Method C++ Program & Example

Gauss Jordan Method C++ is a direct method to solve the system of linear equations and for finding the inverse of a Non-Singular Matrix.

This is a modification of the Gauss Elimination Method.

In this method, the equations are reduced in such a way that each equation contains only one unknown exactly at the diagonal place.

Thus the system of equations are reduced in the special diagonal matrix called identity matrix. It gives us the exact value of variables.

## Example

### x + y + z = 6x – y + z = 22x – y + 3z = 9

Sol: The solution is obtained by reducing the Augmented [Ab] matrix into the diagonal or identity matrix.

Note: We can Perform the Elementary Row Operations only.

## Step 1: Write Equations in the form of AX=b, i.e. Matrix Form.

Where,
A = Coefficient Matrix,
X = variables (Column Matrix),
B = constants (Column Matrix.

## Gauss Jordan Method C++ Program

```.wp-block-code {
max-width: 100%;
overflow: auto;
border: 0;
}

.wp-block-code > div {
width: 100%;
overflow: auto;
}
.wp-block-code > code {
width: 100%;
position: relative;
overflow: auto;
}

.shcb-language {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
-webkit-clip-path: inset(50%);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
position: absolute;
width: 1px;
word-wrap: normal;
word-break: normal;
}

.hljs {
box-sizing: border-box;
}

.hljs.shcb-code-table {
display: table;
width: 100%;
}

.hljs.shcb-code-table > .shcb-loc {
color: inherit;
display: table-row;
width: 100%;
}

.hljs.shcb-code-table .shcb-loc > span {
display: table-cell;
}

.wp-block-code code.hljs:not(.shcb-wrap-lines) {
white-space: pre;
overflow-x: scroll;
}

.wp-block-code code.hljs.shcb-wrap-lines {
white-space: pre-wrap;
}

.hljs.shcb-line-numbers {
border-spacing: 0;
counter-reset: line;
}

.hljs.shcb-line-numbers > .shcb-loc {
counter-increment: line;
}

.hljs.shcb-line-numbers .shcb-loc > span {
}

.hljs.shcb-line-numbers .shcb-loc::before {
border-right: 1px solid #ddd;
content: counter(line);
display: table-cell;
text-align: right;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: 1%;
}
```//Gauss Jordan Method C++ code
//wikkihut.com

#include<iostream>
#include<iomanip>
#include<cmath>
#define N 3
using namespace std;

int main()
{
float Matrix[N][N+1],x[N];
// Matrix = Augumented Matrix [Ad]
float temp;

//variables for loops
int i,j,k;

//Scan values of Matrix.

cout<<"Enter Elements of "<<N<<" Rows & "<<N+1<<" Columns\n";

for(i=0; i<N; i++)
{
cout<<"\tEnter Row  "<<i+1<<" & Press Enter\n";
for(j=0; j<N+1; j++)
cin>>Matrix[i][j];
}

//make above matrix Identity or Diagonal Matrix

cout<<fixed;
for(j=0; j<N; j++)

for(i=0; i<N; i++)
if(i!=j)
{
temp=Matrix[i][j]/Matrix[j][j];

for(k=0; k<N+1; k++)
Matrix[i][k]-=Matrix[j][k]*temp;
}

//print the Diagonal matrix

cout<<"\n ---------------------------------\n";
cout<<"\n Diagonal  Matrix is:\n";

for(i=0; i<N; i++)
{
for(j=0; j<N+1; j++)
cout<<setw(8)<<setprecision(4)<<Matrix[i][j];
cout<<endl;
}

cout<<"\n ---------------------------------\n";

//print values of x,y,z

cout<<"\n The Solution is:\n";
for(i=0; i<N; i++)
cout<<"x["<<setw(3)<<i+1<<"]="<<setw(7)<<setprecision(4)<<Matrix[i][N]/Matrix[i][i]<<endl;

//wikkihut.com/gauss-jordan-c/
return 0;
}```Code language: C++ (cpp)```

Note:-
For a system of 10 equations, the number of multiplications required for the Gauss Jordan method is about 500.

Whereas for the Gauss Elimination method we need only 333 multiplications.

So the Gauss Elimination method is preferred over the Gauss Jordan method especially in large no of equations.