gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Sortiranje, zadatak knjige
[spa2-materijali.git] / sortiranje / knjige / zad-sort1.txt
diff --git a/sortiranje/knjige/zad-sort1.txt b/sortiranje/knjige/zad-sort1.txt
new file mode 100644 (file)
index 0000000..6e7dc0e
--- /dev/null
@@ -0,0 +1,63 @@
+************************************************************\r
+                Zadatak za vežbu - sortiranje 1\r
+************************************************************\r
+\r
+Napisati program koji ucitava niz knjiga iz fajla, sortira\r
+ih i ispisuje u drugi fajl. Imena fajlova zadaje korisnik.\r
+\r
+\r
+Format fajla\r
+------------\r
+\r
+Fajl je formatiran na sledeci nacin:\r
+\r
+U prvom redu stoji broj N.\r
+\r
+Posle njega sledi opis N elemenata niza.\r
+\r
+Svaki element je predstavljen u tri reda. U prvom redu se\r
+nalazi Id knjige, tipa `int`, u sledecem je ime knjige, a\r
+u trecem ime pisca. Imena su stringovi.\r
+\r
+  Id\r
+  Naslov\r
+  Pisac\r
+\r
+Dati su fajlovi knjige12.txt i knjige146.txt sa po 12 i 146\r
+knjiga u njima, respektivno, na kojima se moze testirati \r
+program.\r
+\r
+Predpostaviti ako fajl postoji da je ispravan, odnosno da\r
+je u tacno opisanom formatu.\r
+\r
+\r
+O sortiranju\r
+------------\r
+\r
+Za sortiranje koristiti metod `sort` iz klase `Arrays` iz\r
+paketa `java.util`.\r
+\r
+Klasa koja predstavlja knjigu treba da implementira interfejs\r
+`Comparable` i da ima svoj `compareTo` metod da bi niz\r
+mogao biti sortiran gore pomenutim metodom. Na primer\r
+\r
+    class Knjiga implements Comparable<Knjiga> {\r
+    ...\r
+       public int compareTo(Knjiga druga) {\r
+       ....\r
+       }\r
+    ...\r
+    }\r
+\r
+\r
+Najjednostavnija varijanta je da se niz knjiga sortira po id-u\r
+knjige.\r
+\r
+Kada se testira da to radi, prepraviti da se knjige sortiraju\r
+po piscu i po naslovu, odnosno kod njiga kod kojih je pisac isti\r
+knjige treba da su sortirane po naslovu.\r
+\r
+Sortirani niz snimiti u novi fajl u formatu kao u ulaznom fajlu.\r
+Ovo se najbolje testira tako sto se program ponovo pokrene i \r
+ucita se novonapravljeni fajl.  Ako program normalno ucita i \r
+snimi podatke trebalo bi da je zadovoljen format.\r
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner