#include<iostream>
#include<conio.h>
#include<stdio.h>
using namespace std;
int main()
{
float a[10][10],e[10][10],l[10][10],m[10][10], x[10][10],d,s, det;
int i, j, n,k;
cout << "\n Enter Length Of Matrix N*N : ";
cin >> n;
cout << "\n--------------------------\n";
cout << "\n Enter elements Matrix : " << endl;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
cout << " Matrix[" << i + 1 << "][" << j + 1 << "] : ";
cin >> a[i][j];
l[i][j] = a[i][j];
}
}
cout << "\n--------------------------\n";
cout << "\n Matrix A: "<<endl;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
cout << " " << a[i][j] << " \t";
cout << "\n";
}
cout << "\n--------------------------\n";
cout << "\n Matrix E: " << endl;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (i == j)
e[i][j] = 1;
else
e[i][j] = 0;
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
cout << " " << e[i][j] << " \t";
cout << "\n";
}
cout << "\n----------------------------------------------------\n";
for (k = 0; i < k - 1; k++) {
for (i=k+1;i<=n;i++) {
m[i][k] = -1*a[i][k] / a[i][i];
for (j = k + 1; j <= k - 1; j++) {
a[i][j] = a[i][j] + m[i][k] * a[k][j];
}
for (i = 0; i <= n; i++) {
e[i][j] = e[i][j] + m[i][k] * e[k][j];
}
}
}
for (i = n; n >= i; i--) {
for (j = 0; j < n; j++) {
s = 0;
for (k = i + 1; n >= k; k--) {
s = s + a[i][k] * x[k][j];
}
}
x[i][j] = (e[i][j] - s) / a[i][j];
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
cout << " " << x[i][j] << " \t";
cout << "\n";
}
return 0;
}