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)
   55   56   57   58   59   60   61   62   63   64   65