Cod sursa(job #3357918)

Utilizator TestLicenta123Test Test TestLicenta123 Data 13 iunie 2026 21:47:55
Problema Algoritmul lui Gauss Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.09 kb
#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;
}