diff --git a/Semester 2 (DSA)/minor 2/Main.java b/Semester 2 (DSA)/minor 2/Main.java new file mode 100644 index 0000000..001b4a1 --- /dev/null +++ b/Semester 2 (DSA)/minor 2/Main.java @@ -0,0 +1,211 @@ +import java.util.Scanner; +public class Main +{ + public static Node create() + { + Scanner in = new Scanner(System.in); + System.out.print("Enter the degree of Equation :"); + int d=in.nextInt(); + d++; + int arr[] = new int[d]; + + for(int i=0; i=0; j--) + { + if(arr[j]>0) + System.out.print("+"); + System.out.print(arr[j]+"x^"+j); + } + System.out.println(); + } + Node start= new Node(arr[0],0); + Node n,t; + n=start; + for(int i=1; i=0; i--) + { + Node tmp = new Node(arr[0][i], arr[1][i]); + t.next=tmp; + t=tmp; + } + return rt; + } + } + public static void display(Node n) + { + if(n==null) + { + System.out.println("The Expression doesn't Exists First Create the Expression"); + } + else + { + n=rev(n); + System.out.print(n.getCoeff()+"x^"+n.getExp()); + n=n.next; + while(n!=null) + { + if(n.getCoeff()>0) + { + System.out.print("+"); + } + System.out.print(n.getCoeff()+"x^"+n.getExp()); + n=n.next; + } + } + System.out.println(); + } + public static int len(Node n) + { + int c=0; + if(n==null) + { + return 0; + } + else + { + while(n!=null) + { + c++; + n=n.next; + } + return c; + } + } + public static int degree(Node n) + { + if(n==null) + { + return 0; + } + else + { + int d=0; + while(n!=null) + { + d++; + n=n.next; + } + return d; + } + } + public static Node add(Node exp1, Node exp2) + { + if(exp1==null) + { + System.out.println("Error : Expression 1 Not Entered"); + return null; + } + else if(exp2==null) + { + System.out.println("Error : Expression 2 Not Entered"); + return null; + } + else + { + int l1=len(exp1), l2=len(exp2), len3=Math.max(l1, l2); + int degree=Math.max(degree(exp1), degree(exp2)); + int arr[] = new int[degree+1]; + for(int i=0; i<=degree; i++) + { + arr[i]=0; + } + Node n=exp1; + int d=0; + while(n!=null) + { + arr[n.getExp()]+=n.getCoeff(); + n=n.next; + } + n=exp2; + while(n!=null) + { + arr[n.getExp()]+=n.getCoeff(); + n=n.next; + } + Node exp3 = new Node(arr[0],0); + Node t; + n=exp3; + for(int i=1; i