Monday, 21 March 2016

POLYNOMIAL ADDITION AND MULTIPLICATION IN JAVA


COMPILE:javac poly.java
RUN:java poly

//code is tested 100% output


import java.io.*;
class node
{
int coef;
int pow;
node next;
node(int c,int p)
{
coef=c;
pow=p;
next=null;
}
void display()
{
System.out.print("+"+coef +"X^" +pow);
}
}
class list
{
node first=null;
void insert(int c,int p)
{
node n1=new node(c,p);
node curr;
curr=first;
if(curr==null)
first=n1;
else
{
n1.next=first;
first=n1;
}
}
void display()
{
node curr;
curr=first;
while(curr!=null)
{
curr.display();
curr=curr.next;
}
}
}
class poly
{
public static void main(String args[])throws IOException
{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
int c,i,a,n,power=0;
node curr1,curr2;
list l1=new list();
list l2=new list();
list l3=new list();
try
{
System.out.println("ENTER THE POLYNOMIALDEGREE");
n=Integer.parseInt(br.readLine());
System.out.println("FIRST POLYNOMIAL");
for(i=n;i>=0;i--)
{
System.out.println("ENTER COEFFICIENT OF TERM OF POWER"+i);
c=Integer.parseInt(br.readLine());
l1.insert(c,i);
}
System.out.println("SECOND POLYNOMIAL");
for(i=n;i>=0;i--)
{
System.out.println("ENTER COEFFICIENT OF TERM OF POWER"+i);
c=Integer.parseInt(br.readLine());
l2.insert(c,i);
}
curr1=l1.first;
curr2=l2.first;
while((curr1!=null)&&(curr2!=null))
{
a=curr1.coef+curr2.coef;
int p=curr1.pow;
l3.insert(a,p);
curr1=curr1.next;
curr2=curr2.next;
}
System.out.println("POLYNOMIAL AFTER ADDITION");
l3.display();
System.out.println(" ");
System.out.println("POLYNOMIAL AFTER MULTIPLICATION");
int q=2*n;
int mul=0;
int[] temp=new int[100];
for(curr1=(l1.first);curr1!=null;curr1=(curr1.next))
{
 for(curr2=(l2.first);curr2!=null;curr2=(curr2.next))
 {
  power=(curr1.pow)+(curr2.pow);
  mul=((curr1.coef)*(curr2.coef));
  temp[power]+=mul;
 }
}
for(i=q;i>=0;i--)
{3
  if(i==q)
    System.out.print(+temp[i] +"X^" +i);
  else
        System.out.print("+" +temp[i] +"X^" +i);
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}