Pagini recente » Cod sursa (job #340594) | Cod sursa (job #1478837) | Cod sursa (job #710468) | Cod sursa (job #2679788) | Cod sursa (job #1518091)
#include <bits/stdc++.h>
#define INF (1 << 30)
#define LLINF (1LL << 62)
#define mod 666013
#define eps 0.0000000001
using namespace std;
int n, m, i, j, k;
int p[305];
double rap;
double sol[305];
double a[305][305];
int main()
{
freopen("gauss.in", "r", stdin);
freopen("gauss.out", "w", stdout);
scanf("%d%d", &n, &m);
for(i = 1; i <= n; i++)
for(j = 1; j <= m + 1; j++)
scanf("%lf", &a[i][j]);
for(i = 1; i <= n; i++)
{
for(j = 1; j <= m + 1; j++)
if( fabs(a[i][j]) > eps )
break;
if(j == m + 1)
{
printf("Imposibil");
return 0;
}
if(j > m)
continue;
p[i] = j;
for(j = 1; j <= n; j++)
{
if(j == i || a[j][ p[i] ] == 0)
continue;
rap = a[j][ p[i] ] / a[i][ p[i] ];
for(k = 1; k <= m + 1; k++)
a[j][k] = a[j][k] - a[i][k] * rap;
}
}
for(i = 1; i <= n; i++)
if(p[i])
sol[ p[i] ] = a[i][m + 1] / a[i][ p[i] ];
for(i = 1; i <= m; i++)
printf("%.10f ", sol[i]);
return 0;
}