Pagini recente » Cod sursa (job #2725575) | Cod sursa (job #3303413) | Cod sursa (job #542484) | Cod sursa (job #595120) | Cod sursa (job #3357918)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin ("gauss.in");
ofstream fout ("gauss.out");
int n,m,i,j,poz,p;
double val,sol[301],v[302][302];
int main ()
{
fin>>n>>m;
for (i=1; i<=n; i++)
{
for (j=1; j<=m+1; j++)
fin>>v[i][j];
}
i=1; j=1;
while (i<=n&&j<=m)
{
poz=i;
while(poz<=n && v[poz][j]==0) poz++;
if (poz==n+1)
{
j++;
continue;
}
if (poz!=i)
swap (v[i],v[poz]);
val=v[i][j];
for (p=j; p<=m+1; p++)
v[i][p]/=val;
for (poz=i+1; poz<=n; poz++)
{
val = v[poz][j];
for (p=j; p<=m+1; p++)
v[poz][p]-=val*v[i][p];
v[poz][j]=0;
}
i++;
j++;
}
if(i<=n)
{
fout<<"Imposibil";
return 0;
}
for (i=n; i>0; i--)
{
sol[i]=v[i][m+1];
for (j=i-1; j>0; j--)
sol[i]-=sol[j]*v[i][j];
}
for (j=1; j<=m; j++)
fout<<fixed<<setprecision (10)<<sol[j]<<" ";
return 0;
}