mirror of
https://hub.njuu.cf/TheAlgorithms/C-Plus-Plus.git
synced 2023-10-11 13:05:55 +08:00
added gaussian elimination method
Added Gaussian Elimination method. Thats write in cpp
This commit is contained in:
parent
d5f1da3327
commit
754bd4e4f1
@ -0,0 +1,59 @@
|
|||||||
|
#include<bits/stdc++.h>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int mat_size,i,j,step;
|
||||||
|
|
||||||
|
cout<<"Matrix size: ";
|
||||||
|
cin>>mat_size;
|
||||||
|
|
||||||
|
double mat[mat_size+1][mat_size+1], x[mat_size][mat_size+1];
|
||||||
|
|
||||||
|
cout<<endl<<"Enter value of the matrix: "<<endl;
|
||||||
|
for(i=0;i<mat_size;i++)
|
||||||
|
{
|
||||||
|
for(j=0;j<=mat_size;j++)
|
||||||
|
{
|
||||||
|
cin>>mat[i][j]; //Enter (mat_size*mat_size) value of the matrix.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(step=0;step<mat_size-1;step++){
|
||||||
|
for(i=step;i<mat_size-1;i++)
|
||||||
|
{
|
||||||
|
double a = (mat[i+1][step]/mat[step][step]);
|
||||||
|
|
||||||
|
for(j=step;j<=mat_size;j++)
|
||||||
|
mat[i+1][j] = mat[i+1][j] - (a * mat[step][j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cout<<endl<<"Matrix using Gaussian Elimination method: "<<endl;
|
||||||
|
for(i=0;i<mat_size;i++)
|
||||||
|
{
|
||||||
|
for(j=0;j<=mat_size;j++)
|
||||||
|
{
|
||||||
|
x[i][j] = mat[i][j];
|
||||||
|
cout<<mat[i][j]<<" ";
|
||||||
|
}
|
||||||
|
cout<<endl;
|
||||||
|
}
|
||||||
|
cout<<endl<<"Value of the Gaussian Elimination method: "<<endl;
|
||||||
|
for(i=mat_size-1;i>=0;i--)
|
||||||
|
{
|
||||||
|
double sum = 0;
|
||||||
|
for(j=mat_size-1;j>i;j--)
|
||||||
|
{
|
||||||
|
x[i][j] = x[j][j] * x[i][j];
|
||||||
|
sum = x[i][j] + sum;
|
||||||
|
}
|
||||||
|
if(x[i][i]==0)
|
||||||
|
x[i][i] = 0;
|
||||||
|
else
|
||||||
|
x[i][i] = (x[i][mat_size] - sum)/(x[i][i]);
|
||||||
|
|
||||||
|
cout<<"x"<<i<<"= "<<x[i][i]<<endl;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user