gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Skup, primer sa vozacima Formule 1
authorDoni Pracner <quinnuendo@gmail.com>
Sat, 9 May 2015 14:21:16 +0000 (16:21 +0200)
committerDoni Pracner <quinnuendo@gmail.com>
Sat, 9 May 2015 14:21:16 +0000 (16:21 +0200)
kodovi/skup/F1Vozaci.java [new file with mode: 0644]
kodovi/skup/pobednici.txt [new file with mode: 0644]
kodovi/skup/sampioni-po-godinama.txt [new file with mode: 0644]

diff --git a/kodovi/skup/F1Vozaci.java b/kodovi/skup/F1Vozaci.java
new file mode 100644 (file)
index 0000000..bf361ba
--- /dev/null
@@ -0,0 +1,94 @@
+/**
+ * Dat je fajl “sampioni-po-godinama.txt” u kome su u svakom redu godina i ime i
+ * prezime šampiona Formule 1 te godine razdvojeni razmacima.
+ * 
+ * Ispisati na ekran koliko je bilo različitih šampiona (neki su bili u više
+ * godina).
+ * 
+ * U novi fajl “sampioni.txt” ispisati jedinstvena imena, pri čemu redosled nije
+ * bitan.
+ * 
+ * Dat je fajl “pobednici.txt” u kome je u svakom redu ime i prezime i broj
+ * pobeda nekog vozača u Formuli 1. Koristeći ovaj i prethodno dat fajl ispisati
+ * na ekran sve vozače koji su pobedili neku trku, ali nisu bili svetski
+ * šampioni. Ispisati ove podatke u novi fajl “pobednici-bez-sampionata.txt”.
+ *
+ */
+public class F1Vozaci {
+
+       public static Skup<String> ucitajSampione(String imefajla) {
+               Skup<String> rez = new Skup<>();
+
+               while (!Svetovid.in(imefajla).isEmpty()) {
+                       // ignorisemo godinu, posto nam nije bitna (ne cuvamo je, ali je
+                       // moramo procitati)
+                       Svetovid.in(imefajla).readInt();
+                       String ime = Svetovid.in(imefajla).readString();
+                       String prezime = Svetovid.in(imefajla).readString();
+                       
+                       // u skup ubacujemo puno ime i prezime
+                       rez.ubaci(ime + " " + prezime);
+               }
+               Svetovid.in(imefajla).close();
+               
+               return rez;
+       }
+
+       public static Skup<String> ucitajPobednike(String imefajla) {
+               Skup<String> rez = new Skup<>();
+
+               while (!Svetovid.in(imefajla).isEmpty()) {
+                       String ime = Svetovid.in(imefajla).readString();
+                       String prezime = Svetovid.in(imefajla).readString();
+                       // ignorisemo podataka o broju pobeda (ne cuvamo ga, ali ga moramo
+                       // procitati)
+                       Svetovid.in(imefajla).readInt();
+                       rez.ubaci(ime + " " + prezime);
+               }
+               Svetovid.in(imefajla).close();
+               
+               return rez;
+       }
+
+       public static void stampajNiz(String[] niz) {
+               if (niz != null)
+                       for (String s : niz)
+                               System.out.println(s);
+       }
+
+       public static void ispisiUFajl(Skup<String> imena, String imefajla) {
+               // proveravamo da li je velicina veca od nula, jer inace napraviNiz
+               // vraca 'null', sto ne mozemo da obradimo u foru
+               if (imena.velicina() > 0) {
+                       String[] niz = imena.napraviNiz();
+                       for (String 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<String> samp = (ucitajSampione("sampioni-po-godinama.txt"));
+               // u skupu su sada samo razliciti sampioni, sto je trazeno
+               System.out.println("Broj razlicitih sampiona:" + samp.velicina());
+               ispisiUFajl(samp, "sampioni.txt");
+
+               Skup<String> pob = ucitajPobednike("pobednici.txt");
+
+               Skup<String> pBezS = pob.razlika(samp);
+
+               // ispis na ekran
+               System.out.println("Pobednici bez sampionata, ukupno " + pBezS.velicina());
+               stampajNiz(pBezS.napraviNiz());
+
+               ispisiUFajl(pBezS, "pobednici-bez-sampionata.txt");
+
+       }
+
+}
diff --git a/kodovi/skup/pobednici.txt b/kodovi/skup/pobednici.txt
new file mode 100644 (file)
index 0000000..b74e681
--- /dev/null
@@ -0,0 +1,105 @@
+Michael Schumacher 91
+Alain Prost 51
+Ayrton Senna 41
+Sebastian Vettel 40
+Lewis Hamilton 36
+Fernando Alonso 32
+Nigel Mansell 31
+Jackie Stewart 27
+Niki Lauda 25
+Jim Clark 25
+Juan-Manuel Fangio 24
+Nelson Piquet 23
+Damon Hill 22
+Kimi Räikkönen 20
+Mika Häkkinen 20
+Stirling Moss 16
+Jenson Button 15
+Jack Brabham 14
+Emerson Fittipaldi 14
+Graham Hill 14
+Alberto Ascari 13
+David Coulthard 13
+Carlos Reutemann 12
+Alan Jones 12
+Mario Andretti 12
+Felipe Massa 11
+Rubens Barrichello 11
+Jacques Villeneuve 11
+Gerhard Berger 10
+Jody Scheckter 10
+Ronnie Peterson 10
+James Hunt 10
+Mark Webber 9
+Jacky Ickx 8
+Nico Rosberg 8
+Denny Hulme 8
+Juan-Pablo Montoya 7
+René Arnoux 7
+Jochen Rindt 6
+Gilles Villeneuve 6
+Jacques Laffite 6
+Ralf Schumacher 6
+Riccardo Patrese 6
+John Surtees 6
+Tony Brooks 6
+Keke Rosberg 5
+Michele Alboreto 5
+Giuseppe Farina 5
+Clay Regazzoni 5
+John Watson 5
+Bruce McLaren 4
+Eddie Irvine 4
+Dan Gurney 4
+Daniel Ricciardo 3
+Thierry Boutsen 3
+Didier Pironi 3
+Heinz-Harald Frentzen 3
+Giancarlo Fisichella 3
+Johnny Herbert 3
+Mike Hawthorn 3
+Peter Collins 3
+Phil Hill 3
+José-Froilán González 2
+Jean-Pierre Jabouille 2
+Maurice Trintignant 2
+Patrick Depailler 2
+Patrick Tambay 2
+Wolfgang von-Trips 2
+Elio de-Angelis 2
+Pedro Rodríguez 2
+Jo Siffert 2
+Bill Vukovich 2
+Peter Revson 2
+José-Carlos Pace 1
+Heikki Kovalainen 1
+François Cevert 1
+Jean Alesi 1
+Jean-Pierre Beltoise 1
+Olivier Panis 1
+Jochen Mass 1
+Alessandro Nannini 1
+Giancarlo Baghetti 1
+Jarno Trulli 1
+Lorenzo Bandini 1
+Ludovico Scarfiotti 1
+Luigi Fagioli 1
+Luigi Musso 1
+Piero Taruffi 1
+Vittorio Brambilla 1
+Robert Kubica 1
+Gunnar Nilsson 1
+Joakim Bonnier 1
+Innes Ireland 1
+Peter Gethin 1
+Bob Sweikert 1
+Jimmy Bryan 1
+Jim Rathmann 1
+Johnnie Parsons 1
+Lee Wallard 1
+Pat Flaherty 1
+Richie Ginther 1
+Rodger Ward 1
+Sam Hanks 1
+Troy Ruttman 1
+Pastor Maldonado 1
diff --git a/kodovi/skup/sampioni-po-godinama.txt b/kodovi/skup/sampioni-po-godinama.txt
new file mode 100644 (file)
index 0000000..91b9776
--- /dev/null
@@ -0,0 +1,65 @@
+1950 Giuseppe Farina
+1951 Juan-Manuel Fangio
+1952 Alberto Ascari
+1953 Alberto Ascari
+1954 Juan-Manuel Fangio
+1955 Juan-Manuel Fangio
+1956 Juan-Manuel Fangio
+1957 Juan-Manuel Fangio
+1958 Mike Hawthorn
+1959 Jack Brabham
+1960 Jack Brabham
+1961 Phil Hill
+1962 Graham Hill
+1963 Jim Clark
+1964 John Surtees
+1965 Jim Clark
+1966 Jack Brabham
+1967 Denny Hulme
+1968 Graham Hill
+1969 Jackie Stewart
+1970 Jochen Rindt
+1971 Jackie Stewart
+1972 Emerson Fittipaldi
+1973 Jackie Stewart
+1974 Emerson Fittipaldi
+1975 Niki Lauda
+1976 James Hunt
+1977 Niki Lauda
+1978 Mario Andretti
+1979 Jody Scheckter
+1980 Alan Jones
+1981 Nelson Piquet
+1982 Keke Rosberg
+1983 Nelson Piquet
+1984 Niki Lauda
+1985 Alain Prost
+1986 Alain Prost
+1987 Nelson Piquet
+1988 Ayrton Senna
+1989 Alain Prost
+1990 Ayrton Senna
+1991 Ayrton Senna
+1992 Nigel Mansell
+1993 Alain Prost
+1994 Michael Schumacher
+1995 Michael Schumacher
+1996 Damon Hill
+1997 Jacques Villeneuve
+1998 Mika Häkkinen
+1999 Mika Häkkinen
+2000 Michael Schumacher
+2001 Michael Schumacher
+2002 Michael Schumacher
+2003 Michael Schumacher
+2004 Michael Schumacher
+2005 Fernando Alonso
+2006 Fernando Alonso
+2007 Kimi Räikkönen
+2008 Lewis Hamilton
+2009 Jenson Button
+2010 Sebastian Vettel
+2011 Sebastian Vettel
+2012 Sebastian Vettel
+2013 Sebastian Vettel
+2014 Lewis Hamilton
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner