diff --git a/zad2/Main.class b/zad2/Main.class index 26f5cc3..af74cdb 100644 Binary files a/zad2/Main.class and b/zad2/Main.class differ diff --git a/zad2/Main.java b/zad2/Main.java index 96e4cb4..30fef33 100644 --- a/zad2/Main.java +++ b/zad2/Main.java @@ -14,7 +14,9 @@ public class Main { String multiple = Arrays.toString(PolynomialOperations.multiple(polyF, polyG, modulo)); int[] divisionArray = PolynomialOperations.divide(polyF, polyG, modulo); String division; - if (divisionArray.length == 0) + if(divisionArray == null) + division = "DivisionError"; + else if (divisionArray.length == 0) division = "[0]"; else division = Arrays.toString(divisionArray); @@ -22,7 +24,6 @@ public class Main { if (nwd.equals("null")) nwd = "DivisionError"; - String outputString = "[" + multiple + ", " + division + ", " + nwd + "]"; System.out.println(outputString); } diff --git a/zad2/PolynomialOperations.class b/zad2/PolynomialOperations.class index 85ee995..a8ef9e7 100644 Binary files a/zad2/PolynomialOperations.class and b/zad2/PolynomialOperations.class differ diff --git a/zad2/PolynomialOperations.java b/zad2/PolynomialOperations.java index 5dd3ea2..f828ab7 100644 --- a/zad2/PolynomialOperations.java +++ b/zad2/PolynomialOperations.java @@ -55,7 +55,7 @@ public class PolynomialOperations { public static int[] divide(int[] n, int[] d, int mod) { if (n.length < d.length) { - throw new IllegalArgumentException("Numerator and denominator vectors must have the same size"); + return null; } int nd = n.length - 1; int dd = d.length - 1; @@ -79,7 +79,11 @@ public class PolynomialOperations { return null; while (b.length != 0) { - int[] c = divide(a, b, mod); + int[] c; + if (a.length >= b.length) + c = divide(a, b, mod); + else + c = divide(b, a, mod); a = b; b = c; }