gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Polinom, primer rada sa fajlovima
[spa1-materijali.git] / kodovi / polinomi / PolinomFajlovi.java
diff --git a/kodovi/polinomi/PolinomFajlovi.java b/kodovi/polinomi/PolinomFajlovi.java
new file mode 100644 (file)
index 0000000..737e21d
--- /dev/null
@@ -0,0 +1,49 @@
+/**
+ * U fajlu je polinom predstavljen parovima koeficijenata i stepenova (tip
+ * double i int). Učitati dva polinoma iz fajlova “poli1.txt” i “poli2.txt” i
+ * njihov zbir ispisati u “polizbir.txt”, a proizvod u “poliproizvod.txt”, u
+ * formatu kao što je u ulaznim fajlovima (parovi koeficijent i stepen za svaki
+ * monom).
+ * 
+ */
+public class PolinomFajlovi {
+
+       public static PolinomL ucitajPolinom(String imef) {
+               PolinomL rez = new PolinomL();
+               while (!Svetovid.in(imef).isEmpty()) {
+                       double koef = Svetovid.in(imef).readDouble();
+                       int step = Svetovid.in(imef).readInt();
+                       rez.postaviClan(koef, step);
+               }
+               Svetovid.in(imef).close();
+
+               return rez;
+       }
+
+       public static void snimiPolinom(PolinomL p, String imef) {
+               // pravimo petlju da prodjemo kroz sve stepene koji mogu postojati
+               int maksimalniStepen = p.maksimalniStepen();
+               for (int stepen = maksimalniStepen; stepen >= 0; stepen--) {
+                       double koef = p.koeficijentUz(stepen);
+                       // ne zelimo da stampamo nula koeficijente
+                       if (koef != 0.0) {
+                               Svetovid.out(imef).print(koef);
+                               Svetovid.out(imef).print(" ");
+                               Svetovid.out(imef).println(stepen);
+                       }
+               }
+               Svetovid.out(imef).close();
+       }
+
+       public static void main(String[] args) {
+               PolinomL p1 = ucitajPolinom("poli1.txt");
+               PolinomL p2 = ucitajPolinom("poli2.txt");
+
+               System.out.println(p1);
+               System.out.println(p2);
+
+               snimiPolinom(p1.saberi(p2), "polizbir.txt");
+               snimiPolinom(p1.puta(p2), "poliproizvod.txt");
+       }
+
+}
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner