Rambler's Top100

Исходный файл Polynom.java:

class Polynom {
    static final int MAX_DEG = 1024;
    int deg;
    double coe[];
    public Polynom() {
        deg = 0;
        coe = new double[MAX_DEG-1];    
    }
    
    public Polynom(int degree, double coeff[]) {
        deg = degree;
        int i;
        coe = new double[MAX_DEG-1];
        for (i=0; i < java.lang.reflect.Array.getLength(coeff); i++)
           coe[i] = coeff[i]; 
    } 
    
    public int degree() { return deg; }        
   
    public double coeff(int i) { return coe[i]; }
 
    public Polynom add (Polynom p) {
        int i, nDeg;
        nDeg = degree();
        double nCoeff[] = new double[MAX_DEG-1];
 
        if (nDeg < p.degree())
            nDeg = p.degree();
        
        while (coeff(nDeg) == -p.coeff(nDeg))
            nDeg--;
        
        i = nDeg;
        while ( i >= 0 ) {
            nCoeff[i] = coeff(i) + p.coeff(i);
            i--;
        }
        return(new Polynom(nDeg, nCoeff)); 
    }
   
    public Polynom multiply (Polynom p) {
        int i, j, nDeg;
        double tmp;
        nDeg = degree() + p.degree();
        double nCoeff[] = new double[MAX_DEG-1];
        for (i = 0; i <= nDeg; i++) {
            tmp = 0;
            for (j = 0; j<=i; j++)
               tmp += ( coeff(j) * p.coeff(i-j) );
            nCoeff[i] = tmp;
        }
        return(new Polynom(nDeg, nCoeff));
    }        
}
Хостинг от uCoz