Page 39 - MATINF Nr. 8
P. 39

5.1  Implementarea algoritmului 2                                                              39



             unsigned long long s = 0;
             int i;
             for(i=n;i >=0;i--)
                  s = a[i] + x * s;
             return s;
            }
             void solve_ec(int n, int a[]){
             int x;
             unsigned long long s;
             for(x=1;x<= fabs(a[0])/2;x++){
                  s = f(n,a,x);
                  if(s == 0) cout <<x<<"␣";
                  s = f(n,a,-x);
                  if(s == 0) cout <<-x<<"␣";
            }
            x = fabs(a[0]);
            s = f(n,a,x);
            if(s == 0) cout <<x<<"␣";


            if(a[0]!=0){
                  s = f(n,a,-x);
                  if(s == 0) cout <<-x<<"␣";
            }
            }
             int main ()
            {
                  read_data ();
                  solve_ec(n,a);
                  return 0;
            }

                ˆ
                In tabelul 5.1 sunt prezentate cˆateva rezultate obt , inute cu implementarea 5.1
                 Ecuat , ia                              Date de intrare      Date de ies , ire (solut , iile
                                                                              ˆıntregi ale ecuat , iei)
                  2
                 x + 6x + 9 = 0                          2                    -3
                                                         9 6 1
                  2
                 x + 3x + 2 = 0                          2                    -1 -2
                                                         2 3 2
                  2
                 x + 3x + 9 = 0                          2
                                                         9 3 1
                        4
                              3
                                    2
                  5
                 x + x − 2x − 2x + x + 1 = 0, din        5                    1 -1
                 [3]                                     1 1 -2 -2 1 1
                         2
                    3
                 2x − x + x − 2 = 0, din [3]             3                    1
                                                         -2 1 -1 2
                                                     3
                              3
                  3
                                         3
                 x + (x + 1) + (x + 2) = (x + 3) , 3                          3
                 din [2]                                 -18 -12 0 2
                   Tabelul 5.1 Cˆateva rezultate obt , inute cu programul C++ din implementarea 5.1
   34   35   36   37   38   39   40   41   42   43   44