gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
6e7dc0e1cb65daef80aee996c690032fa707ce7b
[spa2-materijali.git] / sortiranje / knjige / zad-sort1.txt
1 ************************************************************
2 Zadatak za vežbu - sortiranje 1
3 ************************************************************
5 Napisati program koji ucitava niz knjiga iz fajla, sortira
6 ih i ispisuje u drugi fajl. Imena fajlova zadaje korisnik.
9 Format fajla
10 ------------
12 Fajl je formatiran na sledeci nacin:
14 U prvom redu stoji broj N.
16 Posle njega sledi opis N elemenata niza.
18 Svaki element je predstavljen u tri reda. U prvom redu se
19 nalazi Id knjige, tipa `int`, u sledecem je ime knjige, a
20 u trecem ime pisca. Imena su stringovi.
22 Id
23 Naslov
24 Pisac
26 Dati su fajlovi knjige12.txt i knjige146.txt sa po 12 i 146
27 knjiga u njima, respektivno, na kojima se moze testirati
28 program.
30 Predpostaviti ako fajl postoji da je ispravan, odnosno da
31 je u tacno opisanom formatu.
34 O sortiranju
35 ------------
37 Za sortiranje koristiti metod `sort` iz klase `Arrays` iz
38 paketa `java.util`.
40 Klasa koja predstavlja knjigu treba da implementira interfejs
41 `Comparable` i da ima svoj `compareTo` metod da bi niz
42 mogao biti sortiran gore pomenutim metodom. Na primer
44 class Knjiga implements Comparable<Knjiga> {
45 ...
46 public int compareTo(Knjiga druga) {
47 ....
48 }
49 ...
50 }
53 Najjednostavnija varijanta je da se niz knjiga sortira po id-u
54 knjige.
56 Kada se testira da to radi, prepraviti da se knjige sortiraju
57 po piscu i po naslovu, odnosno kod njiga kod kojih je pisac isti
58 knjige treba da su sortirane po naslovu.
60 Sortirani niz snimiti u novi fajl u formatu kao u ulaznom fajlu.
61 Ovo se najbolje testira tako sto se program ponovo pokrene i
62 ucita se novonapravljeni fajl. Ako program normalno ucita i
63 snimi podatke trebalo bi da je zadovoljen format.
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner