Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.lang.*;
- class Polynominal
- {
- Scanner h = new Scanner(System.in);
- int [] p;
- int deg;
- Polynominal()
- {
- }
- Polynominal(int n)
- {
- deg = n;
- p = new int [deg+1];
- for(int i=0; i<=deg; i++)
- {
- p[i] = 0;
- }
- }
- void setData(int [] b)
- {
- deg = b.length - 1;
- p = new int [deg + 1];
- for (int i=0; i<=deg; i++)
- {
- p[i] = b[i];
- }
- }
- void input()
- {
- System.out.print("Enter degree: ");
- deg = h.nextInt();
- p = new int [deg+1];
- int in;
- for(int i=0; i<=deg; i++)
- {
- System.out.print("Enter coefficient of x^" + i + ": ");
- in = h.nextInt();
- p[i] = in;
- }
- }
- Polynominal add(Polynominal p2)
- {
- /*int max_deg
- if(this.deg > p2.deg)
- {
- add.Polynominal(this.deg);
- for(int i=0; i<=p2.deg; i++)
- {
- add.p[i] += p2.p[i];
- }
- }
- else
- {
- add = p2;
- for(int i=0; i<=this.deg; i++)
- {
- add.p[i] += this.p[i];
- }
- }*/
- int max_deg;
- if(this.deg > p2.deg)
- max_deg = this.deg;
- else
- max_deg = p2.deg;
- Polynominal add = new Polynominal(max_deg);
- for(int i=0; i<=p2.deg; i++)
- {
- add.p[i] += p2.p[i];
- }
- for(int i=0; i<=this.deg; i++)
- {
- add.p[i] += this.p[i];
- }
- return add;
- }
- Polynominal sub(Polynominal p2)
- {
- /*Polynominal sub;
- if(this.deg > p2.deg)
- {
- sub = this;
- this.display();
- sub.display();
- for(int i=0; i<=p2.deg; i++)
- {
- sub.p[i] -= p2.p[i];
- }
- }
- else
- {
- sub = p2;
- this.display();
- p2.display();
- sub.display();
- for(int i=0; i<=p2.deg; i++)
- {
- sub.p[i] = sub.p[i] - p2.p[i] - p2.p[i];
- System.out.print(" (" + sub.p[i] + ") " );
- }
- for(int i=0; i<=deg; i++)
- {
- sub.p[i] += p[i];
- }
- }*/
- int max_deg;
- if(this.deg > p2.deg)
- max_deg = this.deg;
- else
- max_deg = p2.deg;
- Polynominal sub = new Polynominal(max_deg);
- for(int i=0; i<=p2.deg; i++)
- {
- sub.p[i] -= p2.p[i];
- }
- for(int i=0; i<=this.deg; i++)
- {
- sub.p[i] += this.p[i];
- }
- return sub;
- }
- int valueX(int x)
- {
- int result = 0;
- for(int i=0; i<=deg; i++)
- {
- result += p[i] * Math.pow(x, i);
- }
- return result;
- }
- Polynominal multi(Polynominal p2)
- {
- int max_deg = this.deg + p2.deg;
- Polynominal multi = new Polynominal(max_deg);
- for (int i=0; i<= this.deg; i++)
- {
- Polynominal t = new Polynominal(max_deg);
- for (int j=0; j<=p2.deg; j++)
- {
- t.p[i+j] = this.p[i] * p2.p[j];
- }
- multi = multi.add(t);
- }
- return multi;
- }
- int findDeg()
- {
- int order = 0;
- boolean start = true;
- for(int i=deg; i>0; i--)
- {
- if(start==true)
- {
- if(p[i] != 0)
- start = false;
- }
- if(start==false)
- order++;
- }
- return order;
- }
- void display()
- {
- /*boolean ex = true;
- for (int i = 0; i<=this.deg; i++){
- if (p[i] == 0)
- continue;
- String str = "x^" + i;
- if (i == 0)
- str = "";
- else if (i == 1)
- str = "x";
- if (p[i] < 0 || ex)
- {
- ex = false;
- if (p[i] != 1)
- {
- if (p[i] == -1)
- System.out.print(p[i] + str + "");
- else System.out.print(p[i] + str + "");
- }
- else System.out.print(str + "");
- }
- else
- {
- if (p[i] == 1)
- System.out.print(" + " + str + "");
- else if (p[i] == -1)
- System.out.print(str + "");
- else System.out.print(" + " + p[i] + str + "");
- }
- }
- System.out.println(" = 0 ");*/
- for(int i=0; i<=deg; i++)
- {
- System.out.print(p[i] + " ");
- }
- }
- }
- public class Main {
- public static void main(String[] args) {
- Scanner h = new Scanner(System.in);
- Polynominal p1 = new Polynominal();
- Polynominal p2 = new Polynominal();
- Polynominal p3 = new Polynominal();
- /*System.out.println("Input polynominal 1");
- p1.input();
- System.out.println();
- System.out.println("Input polynominal 2");
- p2.input();
- System.out.println();*/
- int [] b = {3,0,2,1};
- int [] c = {2,5,0,3,4};
- int [] d = {4,0,6,3,1,0,0};
- p1.setData(b);
- p2.setData(c);
- p3.setData(d);
- System.out.print("p = u + v = ");
- p1.add(p2).display();
- System.out.println();
- System.out.print("q = u - v = ");
- p1.sub(p2).display();
- System.out.println();
- System.out.print("t = u * v = ");
- p1.multi(p2).display();
- System.out.println();
- /*int x;
- System.out.print("Enter x: ");
- x = h.nextInt();
- System.out.println("Polynominal 1 at " + x +" = " + p1.valueX(x));
- System.out.println("Polynominal 2 at " + x +" = " + p2.valueX(x));
- System.out.println();*/
- System.out.println("u(1) = " + p1.valueX(1));
- System.out.println("Real order of d is: " + p3.findDeg());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement