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
1 /**
2 * U fajlu je polinom predstavljen parovima koeficijenata i stepenova (tip
3 * double i int). Učitati dva polinoma iz fajlova “poli1.txt” i “poli2.txt” i
4 * njihov zbir ispisati u “polizbir.txt”, a proizvod u “poliproizvod.txt”, u
5 * formatu kao što je u ulaznim fajlovima (parovi koeficijent i stepen za svaki
6 * monom).
7 *
8 */
9 public class PolinomFajlovi {
11 public static PolinomL ucitajPolinom(String imef) {
12 PolinomL rez = new PolinomL();
13 while (!Svetovid.in(imef).isEmpty()) {
14 double koef = Svetovid.in(imef).readDouble();
15 int step = Svetovid.in(imef).readInt();
16 rez.postaviClan(koef, step);
17 }
18 Svetovid.in(imef).close();
20 return rez;
21 }
23 public static void snimiPolinom(PolinomL p, String imef) {
24 // pravimo petlju da prodjemo kroz sve stepene koji mogu postojati
25 int maksimalniStepen = p.maksimalniStepen();
26 for (int stepen = maksimalniStepen; stepen >= 0; stepen--) {
27 double koef = p.koeficijentUz(stepen);
28 // ne zelimo da stampamo nula koeficijente
29 if (koef != 0.0) {
30 Svetovid.out(imef).print(koef);
31 Svetovid.out(imef).print(" ");
32 Svetovid.out(imef).println(stepen);
33 }
34 }
35 Svetovid.out(imef).close();
36 }
38 public static void main(String[] args) {
39 PolinomL p1 = ucitajPolinom("poli1.txt");
40 PolinomL p2 = ucitajPolinom("poli2.txt");
42 System.out.println(p1);
43 System.out.println(p2);
45 snimiPolinom(p1.saberi(p2), "polizbir.txt");
46 snimiPolinom(p1.puta(p2), "poliproizvod.txt");
47 }
49 }
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner