Pagini recente » Cod sursa (job #2374146) | Cod sursa (job #2676757) | Cod sursa (job #3194639) | Cod sursa (job #107986) | Cod sursa (job #1555009)
#include <cstdio>
using namespace std;
float a[301][301], sol[301], x;
int poz[301], n, m;
int main()
{
int i, j, k;
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("%f",&a[i][j]);
if (m>n) {printf("Imposibil"); return 0;}
for (j=1; j<=m; j++)
{
for (i=1; i<=n; i++)
{
if (a[i][j]!=0 && poz[i]==0)
{
poz[i]=j;
break;
}
}
if (i==n+1) {printf("Imposibil"); return 0;}
}
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
{
if (j==i) continue;
x=a[i][poz[i]]/a[j][poz[i]];
for (k=1; k<=m+1; k++)
{
a[j][k]=a[i][k]-x*a[j][k];
}
}
}
for (i=1; i<=n; i++)
{
sol[i]=a[i][m+1]/a[i][poz[i]];
printf("%.8f ",sol[i]);
}
return 0;
}