Page 60 - MATINF Nr. 1
P. 60
60 L. Deaconu
#include <iostream>
#include <fstream>
#include <iomanip>
#include <math.h>
using namespace std;
ifstream f1("sistem.txt");
ofstream f2("solutie.txt");
int m,n,io,jo;
double a[20][40],eps=1.0e-20;
int o[40],v[20];
void citire()
{
int i,j;
f1>>m>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n+1;j++)
f1>>a[i][j];
f1.close();
}
void generare_tabel()
{
int i,j;
for(i=1;i<=m;i++)
v[i]=0;
for(j=1;j<=n+1;j++)
o[j]=0;
}
void prelucrare()
{
int i,j;
for(i=1;i<=m;i++)
if(i!=io)
for(j=1;j<=n+1;j++)
if(j!=jo)
a[i][j]=(a[i][j]*a[io][jo]-a[i][jo]*a[io][j])/a[io][jo];
for(j=1;j<=n+1;j++)
if(j!=jo)
a[io][j]/=a[io][jo];
for(i=1;i<=m;i++)
a[i][jo]=0.0;
a[io][jo]=1.0;
o[jo]=io;
v[io]=jo;
}
int pivot()
{
int i,j;
double max;
max=fabs(a[io][1]);
jo=1;
for(j=2;j<=n;j++)
if(max<=fabs(a[io][j]))
{
max=fabs(a[io][j]);
jo=j;
}
if(max<eps)
{
if(fabs(a[io][n+1])<eps)