Home » Numerical Techniques Using C++ » Gauss Jordon Method C++ Program & Algorithm | Example

# Gauss Jordon Method C++ Program & Algorithm | Example

## Gauss Jordon Method C++ Program & Example

Gauss Jordon 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.

## 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 Jordon Method C++ Program

```.hljs{display:block;overflow-x:auto;padding:.5em;color:#abb2bf;background:#282c34}.hljs-keyword,.hljs-operator{color:#f92672}.hljs-pattern-match{color:#f92672}.hljs-pattern-match .hljs-constructor{color:#61aeee}.hljs-function{color:#61aeee}.hljs-function .hljs-params{color:#a6e22e}.hljs-function .hljs-params .hljs-typing{color:#fd971f}.hljs-module-access .hljs-module{color:#7e57c2}.hljs-constructor{color:#e2b93d}.hljs-constructor .hljs-string{color:#9ccc65}.hljs-comment,.hljs-quote{color:#b18eb1;font-style:italic}.hljs-doctag,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta-string{color:#98c379}.hljs-built_in,.hljs-class .hljs-title{color:#e6c07b}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.wp-block-code{border:0;padding:0}.wp-block-code>div{overflow:auto}.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}.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{padding-left:.75em}.hljs.shcb-line-numbers .shcb-loc::before{border-right:1px solid #ddd;content:counter(line);display:table-cell;padding:0 .75em;text-align:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;width:1%}```//Gauss Jordon 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-jordon-c/
return 0;
}``````

Note:-
For a system of 10 equations, the number of multiplications required for Gauss Jordon 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 Jordon method especially in large no of equations.

See Wikipedia for More