From efa134deec73a81b16b8feb8a2483e845379e486 Mon Sep 17 00:00:00 2001 From: Giacomo Radaelli Date: Mon, 20 Feb 2023 16:26:28 +0100 Subject: [PATCH] Aggiunto Polinomio --- polinomio/.idea/.gitignore | 3 +++ polinomio/.idea/misc.xml | 6 ++++++ polinomio/.idea/modules.xml | 8 +++++++ polinomio/.idea/vcs.xml | 6 ++++++ polinomio/polinomio.iml | 11 ++++++++++ polinomio/src/Main.java | 16 ++++++++++++++ polinomio/src/Polinomio.java | 41 ++++++++++++++++++++++++++++++++++++ 7 files changed, 91 insertions(+) create mode 100644 polinomio/.idea/.gitignore create mode 100644 polinomio/.idea/misc.xml create mode 100644 polinomio/.idea/modules.xml create mode 100644 polinomio/.idea/vcs.xml create mode 100644 polinomio/polinomio.iml create mode 100644 polinomio/src/Main.java create mode 100644 polinomio/src/Polinomio.java diff --git a/polinomio/.idea/.gitignore b/polinomio/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/polinomio/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/polinomio/.idea/misc.xml b/polinomio/.idea/misc.xml new file mode 100644 index 0000000..03f397c --- /dev/null +++ b/polinomio/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/polinomio/.idea/modules.xml b/polinomio/.idea/modules.xml new file mode 100644 index 0000000..54a6a15 --- /dev/null +++ b/polinomio/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/polinomio/.idea/vcs.xml b/polinomio/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/polinomio/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/polinomio/polinomio.iml b/polinomio/polinomio.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/polinomio/polinomio.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/polinomio/src/Main.java b/polinomio/src/Main.java new file mode 100644 index 0000000..d5e2354 --- /dev/null +++ b/polinomio/src/Main.java @@ -0,0 +1,16 @@ +public class Main { + public static void main(String[] args) { + double[] first = {1, 1, 1}; + double[] second = {-7, 0, 2}; + Polinomio p = new Polinomio(first); + Polinomio p2 = new Polinomio(second); + + + System.out.println(p); + System.out.println(p2); + + System.out.println(new Polinomio(p2.add(p))); + + System.out.println(p.y(2)); + } +} \ No newline at end of file diff --git a/polinomio/src/Polinomio.java b/polinomio/src/Polinomio.java new file mode 100644 index 0000000..4539ace --- /dev/null +++ b/polinomio/src/Polinomio.java @@ -0,0 +1,41 @@ +public class Polinomio { + private double[] coefficienti; + + public Polinomio(double[] coefficienti) { + this.coefficienti = coefficienti; + } + + public double y(double x) { + double y = 0; + for (int i = coefficienti.length - 1; i >= 0; i--) { + y += coefficienti[i] * Math.pow(x, i); + } + + return y; + } + + public double[] add(Polinomio other) { + if(other.coefficienti.length != coefficienti.length) throw new IllegalArgumentException(); + + double[] sum = new double[coefficienti.length]; + + for (int i = 0; i < coefficienti.length; i++) { + sum[i] = coefficienti[i] + other.coefficienti[i]; + } + + return sum; + } + + @Override + public String toString() { + String testo = ""; + for (int i = coefficienti.length - 1; i >= 0; i--) { + if (coefficienti[i] >= 0) { + testo += "+"; + } + testo += coefficienti[i] + "x^" + i + " "; + } + + return testo; + } +}