Cześć, pomoże mi ktoś znaleźć błąd w tym kodzie? Liczy błędnie niewiem czemu :/
Program ma oczywiście rozwiązać układy równań metodą eliminacji gaussa.
#include <iostream>
using namespace std;
/*
-3x1 -2x2 -2x3 -2x4 +0.5x5=-2
0.5x1 -4x2 -4x3 -3x4 -5x5=0.5
3x1 +4x2 -4x3 +4x4 +0.5x5=-4
0.5x1 +0.5x2 +0.5x3 -2x4 +0.5x5=-3
-5x1 -3x2 -5x3 +0.5x4 +0.5x5=0.5
*/
int main()
{
int n = 5;
int i,j,s;
float sum;
float c[n][n+1]={{-3,-2,-2,-2,0.5,-2},{0.5,-4,-4,-3,-5,0.5},{3,4,-4,4,0.5,-4},{0.5,0.5,0.5,-2,0.5,-3},{-5,-3,-5,0.5,0.5,0.5}};
float x[n];
for(i=0;i<n;i++)
{
for(j=0;j<=n;j++)
{
cout<<c[i][j]<<"\t";
}
cout<<"\n\n";
}
for(s=0;s<n-1;s++)
{
for(i=s+1;i<n;i++);
{
for(j=s+1;j<=n;j++)
{
c[i][j]=(c[i][j]-((c[i][s]/c[s][s])*c[s][j]));
}
}
}
x[n]=c[n][n+1]/c[n][n];
for(i=n-1;i>=0;i--)
{
sum=0;
for(s=i+1;s<n;s++)
{
sum=(sum+(c[i][s]*x[s]));
}
x[i]=(c[i][n+1]-sum)/c[i][i];
}
for(i=0;i<n;i++)
{
cout <<"x"<<i<<"="<< x[i] <<"\n";
}
return 0;
}