gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control system
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b1321c9)
raw | patch | inline | side by side (parent: b1321c9)
author | Doni Pracner <quinnuendo@gmail.com> | |
Sat, 9 May 2015 14:18:50 +0000 (16:18 +0200) | ||
committer | Doni Pracner <quinnuendo@gmail.com> | |
Sat, 9 May 2015 14:18:50 +0000 (16:18 +0200) |
kodovi/skup/BrojeviSkup.java | [new file with mode: 0644] | patch | blob |
kodovi/skup/brojevi.txt | [new file with mode: 0644] | patch | blob |
diff --git a/kodovi/skup/BrojeviSkup.java b/kodovi/skup/BrojeviSkup.java
--- /dev/null
@@ -0,0 +1,64 @@
+/**
+ * Zadatak:
+ *
+ * Iz fajla “brojevi.txt” učitati brojeve tipa int u skup sa elementima tipa
+ * Integer.
+ *
+ * Prebrojati koliko je bilo brojeva u fajlu, a koliko ih ima u skupu.
+ *
+ * Ispisati koliko je bilo duplikata.
+ *
+ * Ispisati sadržaj skupa u fajl “brojevi-bez-duplikata.txt”, pri čemu redosled
+ * nije bitan.
+ *
+ */
+public class BrojeviSkup {
+
+ public static Skup<Integer> ucitajBrojeve(String imefajla) {
+ Skup<Integer> rez = new Skup<>();
+
+ int red;
+ int br = 0;
+ while (Svetovid.in(imefajla).hasMore()) {
+ red = Svetovid.in(imefajla).readInt();
+ br++;
+ rez.ubaci(red);
+ }
+ Svetovid.in(imefajla).close();
+
+ System.out.println("u fajlu je bilo " + br + " redova");
+ System.out.println("u skupu ima " + rez.velicina() + " elemenata");
+ System.out.println("U fajlu je bilo " + (br - rez.velicina())
+ + " duplikata");
+
+ return rez;
+ }
+
+ public static void ispisiUFajl(Skup<Integer> intSkup, String imefajla) {
+ if (intSkup.velicina() > 0) {
+
+ // koristimo metod da dobijemo niz
+ // element niza je tacno onog tipa kog je i element skupa
+ // nije moguce da to bude prost tip kao "int", nego nesto kao "Integer"
+ Integer[] niz = intSkup.napraviNiz();
+
+ for (Integer s : niz) {
+ Svetovid.out(imefajla).println(s);
+ }
+ Svetovid.out(imefajla).close();
+ } else {
+ // nema sta da se pise u fajl
+ Svetovid.out(imefajla).println();
+ Svetovid.out(imefajla).close();
+ }
+ }
+
+ public static void main(String[] args) {
+ Skup<Integer> brojevi = ucitajBrojeve("brojevi.txt");
+
+ // u skupu su svi razliciti, znaci da je dosta samo ispisati sadrzaj
+ // skupa u fajl
+ ispisiUFajl(brojevi, "brojevi-bez-duplikata.txt");
+ }
+
+}
diff --git a/kodovi/skup/brojevi.txt b/kodovi/skup/brojevi.txt
--- /dev/null
+++ b/kodovi/skup/brojevi.txt
@@ -0,0 +1,13 @@
+1
+2
+4
+4
+5
+8
+11
+4
+2
+73
+12
+11
+6