You are on page 1of 16

1.

Kreirati klasu Slagalica koja omoguava zadavanje tajne rei, sluajno permutovanje znakova tajne rei, kao i dve operacije zameni(i, j), rotiraj(i, j). Operacija zameni(i, j) menja mesta i tom i j tom karakteru u transformisanoj rei, a rotiraj(i, j) rotira sve karaktere od i tog do j tog u desno ako je i < j, odnosno u levo ako je i > j. U glavnom programu omoguiti igranje sledee igre kompjuter uitava niz rei iz datoteke recnik.dat, odabira sluajno jednu od njih i permutuje joj karaktere. Posle toga prikazuje permutovanu re korisniku i trai od njega komande. Posle svake komande treba odtampati promenjenu re. Igra se zavrava kada igra pogodi traenu re ili posle 10 pokuaja. 2. Kreirati klasu KompleksniBroj koja omoguava rad sa kompleksnim brojevima. Klasa bi trebalo da ima: a. podatke re i im, za realni i imaginarni deo kompleksnog broja; b. konstruktor sa dva parametra koji postavlja vrednosti za realni i imaginarni deo kompleksnog broja; c. konstruktor bez parametara koji postavlja vrednost kompleksnog broja na 0; d. odgovarajue getere i setere; e. javni metod moduo() koji kao rezultat vraa moduo kompleksnog broja; f. javne metode kojima se izvode osnovne operacije sa kompleksnim brojevima (sabiranje, oduzimanje, mnoenje, stepenovanje, deljenje). 3. Kreirati klasu Razlomak koja omoguava rad sa racionalnim brojevima. Klasa bi trebalo da ima: a. podatke br i im, za brojilac i imenilac razlomka; b. privatni metod skrati() koji dovodi razlomak na neskrativi oblik. Moe se definisati i privatni metod int nzd(int a, int b) koji odreuje najvei zajedniki delilac dva cela broja; c. konstruktor sa dva parametra koji postavlja vrednosti za brojilac i imenilac. Voditi rauna o tome da imenilac ne moe biti 0; d. konstruktor bez parametara koji postavlja vrednost kompleksnog broja na 0. U tom sluaju je imenilac jednak 1; e. odgovarajue getere i setere; f. javne metode kojima se izvode osnovne operacije sa razlomcima (sabiranje, oduzimanje, mnoenje, stepenovanje, deljenje). 4. Kreirati klasu Automobil koja ima: a. celobrojne podatke trenutnaBrzina i maksimalnaBrzina koji predstavljaju trenutnu i maksimalnu brzinu automobila u km/h. Trenutna brzina automobila ne moe biti vea od maksimalne; b. realni podatak predjeniPut koji odreuje koliko kilometara je automobil preao; c. konstruktor sa jednim celobrojnim parametrom koji predstavlja maksimalnu brzinu automobila. Ona ne moe biti negativna. Trenutna brzina i preeni put se postavljaju na 0;
1

d. javni metod void ubrzaj(int a) koji poveava trenutnu brzinu za a km/h, ali ne preko maksimalne brzine; e. javni metod void uspori(int a) koji smanjuje trenutnu brzinu za a km/h, ali ne ispod 0; f. javni metod void vozi(double t) koji na promenljivu predjeniPut dodaje put koji auto pree za t asova, vozei trenutnom brzinom; g. odgovarajue getere i setere; h. javni metod int ucitajKomande(char * fileName), odnosno, u Javi, int ucitajKomande(String fileName) koji uitava i izvrava komande iz tekstualne datoteke ije je ime dato. Metod vraa 0 ako se pri itanju desila neka greka, a inae 1. Komande su oblika UBRZAJ A, USPORI A, VOZI T i svaka je data u po jednom redu. U prvom redu datoteke se nalazi broj komandi. 5. Kreirati klasu Robot koja u svakom trenutku pamti poziciju robota u ravni. Klasa bi trebalo da ima metode kreni(int t), ubrzaj(int v), uspori(int v), levo(), levo(int x), desno(), desno(int x). Robot se na poetku nalazi u koordinatnom poetku, a poetni smer je u pozitivnom smeru x ose. Trebalo bi omoguiti korisniku da pri kreiranju objekta zada poetne koordinate robota, kao i poetni smer. Brzina robota se meri u metrima u sekundi, a poetna brzina je 0. Metod kreni(t) pokree robota u trenutnom smeru t sekundi. Metod ubrzaj(v) (uspori(v)) poveava (smanjuje) brzinu robota za v metara u sekundi. Brzina robota nikada ne sme biti manja od 0 m/s, a ni vea od 30 m/s. Metodi levo(x ) desno(x) menjaju smer kretanja robota za x stepeni u odgovarajuu stranu. Metodi levo() i desno() menjaju smer kretanja za 90 stepeni. Napisati metode pozicijaX() i pozicijaY() koji daju x, odnosno y koordinatu trenutne pozicije. Napisati metod ucitajKomande(String filename) koji iz tekstualne datoteke sa navedenim imenom uitava komande za robota i izvrava ih. U svakom redu datoteke se nalazi po jedna komanda. Komande mogu biti KRENI #, UBRZAJ #, USPORI #, LEVO, LEVO #, DESNO, DESNO # (# oznaava prirodan broj). U glavnom programu uitati poetne koordinate robota, a zatim izvriti spisak komandi iz datoteke robot.in. Na kraju odtampati rastojanje robota od poetne take. 6. (JAVA) Igra Mastermind se sastoji u tome da kompjuter sluajno generie niz od n znakova koje bira od k vrsta znakova. Igra zatim pogaa kombinaciju koju je kompjuter zamislio, a kompjuter posle svako pogaanja daje izvetaj koliko je znakova pogoeno, kao i koliko je znakova na svom mestu. Kreirati klasu Mastermind kojoj se moe zadati broj razliitih znakova k ( 3 k 8 ), kao i duina niza koji se generie n ( 4 n 10 ). Definisati metod generisi() koji generie sluajni niz znakova, kao i metod proba(...) iji je parametar niz znakova (znak moe biti predstavljen cifrom ili posebnom klasom bolje reenje), a iji je rezultat klasa (ili
2

struktura) koja sadri podatke o broju pogoenih znakova i bro ju znakova koji su na svom mestu. U glavnom programu od korisnika uzeti podatke za n i k, a zatim simulirati igru Mastermind sa datim podacima. 7. Kreirati klasu VelikiInt koja omoguava rad sa velikim celim brojevima. Definisati metode za sabiranje, oduzimanje, mnoenje, celobrojno deljenje i izraunavanje ostatka pri deljenju dva velika cela broja. Takoe, napisati metode za ove osnovne operacije kada je drugi operand obian ceo broj. Rezultat svakog od ovih metoda je VelikiInt. Napisati konstruktor bez parametara koji postavlja broj na vrednost 0, konstruktor sa celobrojnim parametrom, kao i konstruktore kojima su parametri string, odnosno niz cifara. 8. Kreirati klasu Soba koja predstavlja hotelsku sobu. Bitni podaci za hotelsku sobu su broj sobe, broj kreveta, cena, kao i to da li je soba zauzeta ili ne. Kreirati klasu Hotel koja omoguava unoenje podataka o sobama u hotelu (sa tastature ili iz datoteke). Definisati metod pronadji(int n) koja proverava da li u hotelu postoji soba u koju se moe smestiti n osoba, pa ako postoji, kao rezultat daje broj najjeftinije sobe u koju taj broj osoba moe da se smesti. Ako ima vie takvih soba, rezultat treba da bude broj sobe koja ima najmanji broj kreveta, a ako i takvih ima vie, onda od njih vratiti najmanji broj sobe. Ukoliko takva soba ne postoji, rezultat je 1. Napisati i metod zarada(int n) koji izraunava kolika je ukupna zarada od n tokrevetnih soba u hotelu. Ako je n 0 , onda se raunaju sve sobe, bez obzira na broj kreveta. Naravno, raunaju se samo zauzete sobe. 9. Kreirati klasu TesterLozinke koja proverava da li dati string prihvatljiv za lozinku. String je prihvatljiv za lozinku ukoliko: a. ima bar 7 znakova, b. sadri i velika i mala slova, c. sadri bar jednu cifru. d. Klasa bi trebalo da omogui zadavanje stringa, bilo preko konstruktora ili setera, kao i da ima javni metod prihvatljiv(String s) koji kao rezultat daje jedan od stringova: e. u redu, ukoliko su svi uslovi zadovoljeni, f. kratka lozinka, ukoliko nije zadovoljen uslov a), g. lozinka mora da sadrzi bar jedno malo i bar jedno veliko slovo, ukoliko nije zadovoljen uslov b) (a jeste a)), h. lozinka mora da sadrzi bar jednu cifru, ukoliko nije zadovoljen uslov c) (a jesu a) i b)).
10. Kreirati klasu Kutija koja ima polja visina, sirina i duzina. Napisati odgovarajue getere i setere, kao i konstruktor sa 3 parametra.
3

Napisati javni metod stajeU(Kutija k) koji proverava da li kutija moe da stane u kutiju k. Jedna kutija moe da stane u drugu, ako joj je osnova manja (po irini i duini) od osnove druge kutije (s tim to kutije mogu da se rotiraju oko vertikalne ose), a visina joj je manja od visine druge kutije. Raunati da su strane kutija uvek paralelne. Kreirati klasu NizKutija koja sadri polje kutije koje predstavlja niz kutija. U ovoj klasi napisati metod proveri() koji proverava da li je mogue rasporediti kutije tako da svaka staje u sledeu.

11. Kreirati klasu BinaryHeap koja kao podatak sadri niz celih brojeva i koja omoguava rad sa strukturom binarni hip. Klasa bi trebalo da ima konstruktor i javne metode count(), get() i add(int x). Objanjenje: Binarni hip je struktura podataka koja se predstavlja binarnim stablom i ima osobinu da je svaki element vei (za maxHeap) od svih elemenata koji se u stablu nalaze ispod njega. Na slici je dat primer jednog binarnog hipa (slika levo). Ovakva struktura se moe predstaviti i nizom, tako to za i ti element niza postavimo da je element levo od njega onaj sa indeksom (2i + 1), a desno element sa indeksom (2i + 2) (slika desno). Element se u hip dodaje tako to se stavi na kraj niza, a onda se zamenjuje sa elemen tom iznad sebe, sve dok je vei od njega. Ovo bi trebalo da radi metod add(int x). Metod get() bi trebalo da kao rezultat vrati maksimalni elemen hipa (null ako je hip prazan), a zatim da taj element obrie iz hipa. Prvi element se brie tako to se na nj egovo mesto dovede najmanji element, a zatim se taj najmanji element pomera na dole tako to se zamenjuje sa veim od dva elementa koji su direktno ispod njega, sve dok ne bude vei od oba elementa koji su ispod njega.

100 19 36 17 3 25 1 2 7 0 1 2 3 4
4

5 6 7 8 Metod count() bi trebalo da daje trenutni broj elemenata u hipu.

12. Napisati klasu Vektor za rad sa vektorima u ravni; vektor je odredjen svojom poetnom i krajnjom takom. Definisati: konstruktor na osnovu dve zadate tacke (pocetna i krajnja tacka vektora), konstruktor na osnovu jedne zadate tacke (pocetna taka je koordinatni pocetak, a krajnja taka vektora je zadata), konstruktor kopije i metode za sabiranje i oduzimanje vektora (rezultat je vektor). Takoe implementirati i metod za translaciju vektora u zadatu taku, metod za translaciju vektora za zadati vektor, metod koji nalazi centralno simetricni vektor datom vektoru u odnosu na zadatu tacku i metod za rotaciju vektora za dati ugao. U drugoj klasi implementirati main() funkciju koja sa standardnog ulaza ucitava vektor i zatim ucitava tacku u koju transliramo taj vektor, a zatim i ugao za koji ga dalje rotiramo; onda ucitavamo drugi vektor, pa tacku u odnosu na koju nalazimo centralno simetricni vektor tom vektoru. Na kraju ispisujemo zbir i razliku ovako dobijenih vektora.

13. Npisti sld kls (kls prmiti nim knstruktrim i dstruktrm ki su ptrbni z bzbdn krinj kls):

cn sdri c br u psgu d 5 d 10. Vrdnsti izvn psg, prilikm krirnj, prmn s u nbliu prihvtlivu vrdnst. d s dhvti vrdnst cn brn i slvim k i d s cn ispi n glvnm izlzu kd s piu b blik cn (n primr: 10(deset)). Ispit sdri ifru ispit d nvi 6 znkv i cnu. d s uit ifr ispit i cn i d s ispit ispi n glvnm izlzu u bliku "ifr:cn". Studnt im im (tkst prizvln duin), br indks (dugk c br p mi ggggrrrr, gd su g i r cifr gdin upis i rgistrskg br) i niz ispit zdtg kpcitt (pdrzumvn 40). Stvr s bz idng ispit psl g ispiti mgu d s ddu dn p dn. Pvrtn vrdnst pri ddvnju ispit pkzu usph ddvnj (t. d li bil mst u nizu ispit). N sm d s prvi kpi studnt. d s izrun srdnj vrdnst cn plnih ispit i d s studnt ispi n glvnm izlzu u bliku "im[gdUp/rgBr:srcn]". Npisti n ziku C++ prgrm ki nprvi dng studnt, dd mu tri ispit i ispi g n glvnm izlzu. Kristiti sm knstntn pdtk (n trb nit uitvti s glvng ulz).
5

14. Sstviti n ziku C++ sld kls (kls prmiti nim knstruktrim i dstruktrm ki su ptrbni z bzbdn krinj kls):

Dtum s zd pmu br dn, msc i gdin. d s prvri d li tri cl br prdstvlu isprvn dtum, d s stvr dtum n snvu tri cl br (pdrzumvn 7.11.2005. pgrn dtum prkid prgrm), d s dhvtu dlvi dtum, d s dtum uprdi s drugim dtumm (rzultt <0, =0 ili >0, zvisn d tg d li tkui dtum pr, dnk ili psl zdtg dtum), d s dtum prit s glvng ulz i d s dtum ispi n glvnm izlzu. List dtum s stvr przn, psl g s dtumi ddu dn p dn n kr list. d s drdi duin list, d s dhvti nksnii dtum u listi i d s list ispi n glvnm izlzu. Npisti n ziku C++ glvni prgrm ki itui dtum s glvng ulz nprvi listu dtum (itnj s zvrv prvim nisprvnim dtumm), ispi n glvnm izlzu dbinu listu k i nksnii dtum i pnvl prthdn krk sv dk n prit prznu listu.

15. Sstviti n ziku JAVA sld kls (kls prmiti nim knstruktrim i dstruktrm ki su ptrbni z bzbdn krinj kls):

Dtum s zd pmu br dn, msc i gdin. d s prvri d li tri cl br prdstvlu isprvn dtum, d s stvr dtum n snvu tri cl br (pdrzumvn 7.11.2005. pgrn dtum prkid prgrm), d s dhvtu dlvi dtum, d s dtum uprdi s drugim dtumm (rzultt <0, =0 ili >0, zvisn d tg d li tkui dtum pr, dnk ili psl zdtg dtum), d s dtum prit s glvng ulz i d s dtum ispi n glvnm izlzu. List dtum s stvr przn, psl g s dtumi ddu dn p dn n kr list. d s drdi duin list, d s dhvti nksnii dtum u listi i d s list ispi n glvnm izlzu.

Npisti n ziku JAVA glvni prgrm ki itui dtum s glvng ulz nprvi listu dtum (itnj s zvrv prvim nisprvnim dtumm), ispi n glvnm izlzu dbinu listu k i nksnii dtum i pnvl prthdn krk sv dk n prit prznu listu. 16. Sstviti sld kls (kls prmiti nim knstruktrim i dstruktrm ki su ptrbni z bzbdn krinj kls):

triln tk u prstru s zd pmu rln ms (pdrzumvn 1) i tri rln krdint (pdrzumvn (0,0,0)). d s drdi rstnj (r) d drug tk, d s izrun privln sil izmu tk i zdt drug tk (F=m1m2/r2, =6,671011) i d s tk ispi n glvnm izlzu. Niz mtrilnih tk s stvr przn zdtg ptng kpcitt (pdrzumvn 5), psl g s tk ddu dna p dna n kr niz. Ak s niz prpuni, kpcitt
6

mu s pv z 5. d s dhvti br tk u nizu, d s dhvti tk u nizu k nvi privli zdtu tku i d s niz ispi n glvnm izlzu. Npisti n ziku C++ prgrm ki itui mtriln tk s glvng ulz nprvi niz mtrilnih tk (itnj s zvrv unsm ngtivn ms), ispi n glvnm izlzu dbini niz k i tku k nvi privli tku dinin ms u krdintnm ptku i pnvl prthdn krk sv dk n prit przn niz (niz duin 0). 17. Realizovati klasu trougao koja e kao podatke lanove imati tri take koje predstavljaju objekte klase taka. Klasa taka treba da ima odgovarajue konstruktore i destruktore kao i funkcije za raunanje rastojanja dve take i ugla izmeu prave koju ine dvije take i x ose. Klasa trougao treba da posjeduje odgovarajue konstruktore, destruktore kao i funkciju lanicu koja e za tri date take provjeravati da li ine trougao ili su to take sa jedne prave i druga funkcija lanica proverava da li je trougao, na ovaj nain zadat, jednakokraki. Napisati i glavni program u kojem e se unositi koordinate za eljene take, inicijalizovati potrebni objekti i provjeravati da li date take ine trougao i d a li je isti jednakokraki.

18. Prktvti n ziku Java pkt kls s sldim pism:


Z pstrktnu funkciu m d s izrun rln vrdnst u nk tki x i m d s stvri funkci k prdstvl njn izvd. nm funkci blik axk (pdrzumvn x), njn izvd kaxk1. Knvrzi u tip Sring blik a*x^k, gd su a i k vrdnsti prmtr mnm. kspnnciln funkci funkci blik aebx (pdrzumvn ex), njn izvd abebx. Knvrzi u tip Sring blik a*exp(b*x), gd su a i b vrdnsti prmtr kspnnciln funkci. Zbir funkci funkci k m d sdri zdti br (pdrzumvn 2) funkci. Stvr s przn psl g funkci mgu d s ddu dn p dn. Pku stvlnj funkci u pun zbir funkci s privlu izuztkm tip spciln dnstvn kls. Vrdnst zbir funkci zbir vrdnsti sdrnih funkci. Izvd zbir funkci zbir izvd sdrnih funkci. Knvrzi u tip String blik (fun)++(fun), gd su fun rzultti knvrzi pdinih sdrnih funkci u tip String.

Sstviti n ziku Java klsu s glvnim prgrmm ki nprvi dn zbir funkci kpcitt ki s zd k prmtr glvng prgrm, dd nklik funkci itui ptrbn pdtk prk glvng ulz, ispi dbini zbir funkci i njgv izvd i psl vri tblirnj vrdnsti zbir funkci i njgvg izvd z svk xminxxmax s krkm x. N rsplgnju sti kls Citaj u bzimnm pktu k sdri zdnik mtd z itnj svih stndrdnih tipv pdtk.

19. Prktvti sistm kls s sldim pism:

Niz rlnih brv m d s inicilizu zdtm duinm (pdrzumvn 10 lmnt, vrdnsti lmnt su prizvln) i drugim nizm, d s uniti, d s ddlu vrdnst dng niz drugm (=), d s pristupi lmntu s zdtim indksm ([]) i d s dhvti duin niz (unrni +). U sluu ndzvlng indks, privlu s izuztk clbrng tip s vrdnu dnkm tm ndzvlnm indksu. Funkci pstrktn kls u k prdvin izrunvnj vrdnsti rln funkci s dnim rlnim rgumntm (()) i upisivnj simblikg blik t funkci (n primr frmulu) u nki izlzni tk (<<). Vrini rzlmk niz z ki m d s izrun vrdnst priln funkci v(x), pdrzumvnv0(x). Vrini rzlmk s ispisu u bliku niz njgvih kficint, n primr: VRazl[a0,a1,...,an-1]. U sluu pku dlnj nulm, privlu s izuztk clbrng tip s vrdnu nul.

Sstviti n ziku C++ glvni prgrm ki prit rd vring rzlmk n, stvri dn vrini rzlmk s pdrzumvnim kficintim, prmni vrdnst nkih d kficint itui prk glvng ulz prv i ai sv dk n prit ndzvlni indks, prit vrdnsti xmin, xmax i x, i n kru, tblir vrdnst vring rzlmk n glvnm izlzu z xminxxmax s x krkm . 20. Prktvti n ziku C++ sistm kls s sldim pism:

pstrktni pdtk m d s ispisu n glvnm izlzu, d mu s frmir kpi u dinmik mmrii i d s unitv. Sklr pdtk ki im nku rlnu vrdnst, m d s inicilizu binm rlnm vrdnu i d s dhvti njgv vrdnst (+skal). Niz pdtk ki m d sdri izvstn br rznvrsnih pdtk (ukluuui i nizv), m d s inicilizu k przn niz zdtg kpcitt ili d s inicilizu drugim nizm. Prd tg, psti mgunst ddl vrdnsti dng niz drugm (niz1=niz2), dhvtnj kpcitt niz (+niz), dhvtnj vrdnsti nkg lmnt niz (niz[ind], grk k indks izvn dzvlng psg ili k dt mst przn), stvlnj pdtk n prv slbdn mst u nizu (niz+=pod, grk k u nizu nm slbdng mst), izbcivnj pdtk s dtg mst u nizu (niz-=ind, grk k indks izvn dzvlng psg) i prnjnj sdr niz (~niz). Grk signlizirti izuzcim.

Prktvti n ziku C++ glvni prgrm ki prit kpcitt niz, stvri przn niz tg kpcitt, npuni niz pdcim k it prk glvng ulz (sklrnim pdcim i nizvim ki sdr sm sklrn pdtk), ispi sdr dbing slng niz prk glvng izlz i pnvl prthdn krk sv dk z duinu niz n prit ngtivnu vrdnst.
8

21. Prktvti n ziku C++ sistm kls s sldim pism:

Svkm pstrktnm tmu m d s nprvi kpi (kln) i d s izrun clbrn vliin k prdstvl br btv k bi tm zuz u nk dttci. v vliin n m d s drdi prtrm sizeof, v s dru n snvu nphdng sdr tm u dttci. tm m d s ispi n stndrdnm izlzu (prtr <<). Znk tm ki pisn s dv pdtk: kdm znk (krktr, dn bt), i krtkim clim brm (dv bt) kim s pisu stil znk. Ispisu s n stndrdnm izlzu p frmtu "Z(kd, stil)". Piksl tm pisn s tiri bt, d kih prv tri prdstvlu kmpnnt b (crvnu, zlnu i plvu), tvrti prdstvl fktr przirnsti. Ispisu s n stndrdnm izlzu p frmtu "P(crvn, zln, plv, przirnst)". lmnt tm ki sdri niz tm grning kpcitt. Stvr s przn zdtg kpcitt, nd mu s ddu tmi, rdm (prtr +=). Prkrnj kpcitt niz tm izziv izuztk. Ispisu s n stndrdnm izlzu u uglstim zgrdm k niz tm, musbn rzdvnih zrzim. kst je lmnt ki sdri niz znkv grning kpcitt i infrmciu duini sdr (krtk c br, dv bt). Ispisu s n stndrdnm izlzu p frmtu "Tekst: (duin) ", iz g sldi niz znkv. Slik lmnt ki sdri niz piksl grning kpcitt, k i infrmci irini i visini slik, izrn u bru piksl (krtki cli brvi p dv bt). Stvr s przn zdtg kpcitt niz piksl i zdt irin. Ispisu s n stndrdnm izlzu p frmtu "Slika: (irin, visin) ", iz g sldi niz piksl. Dkumnt lmnt ki im sv im (knvncinlni niz krktr zvrn znkm '\0'). Dkumnt m d sdri tkstv, slik i drug dkumnt. Dkumnt s ispisu n stndrdnm izlzu p frmtu "Dokument: <im>", iz g sldi niz lmnt.

Sstviti n ziku C++ glvni prgrm ki dmnstrir frmirnj dng dkumnt s nklik tkstv, slik i drugih dkumnt, ztim ispi dkumnt i n kru izrun i ispi vliinu dkumnt. 22. Npisti n ziku C++ sld kls (kls prmiti nim knstruktrim, dstruktrm i prtrm z ddlu vrdnsti, ki su ptrbni z bzbdn krinj kls):

B s zd rlnm tlsnm duinm izrnm u nnmtrim u psgu d 380 d 750 (pdrzumvn 380), rlnim zsinjm u psgu d 0 d 1 (pdrzumvn 1) i rlnim intnzittm d 0 d 100 (pdrzumvn 100). d s ispit d li su dv b dnk (boja1==boja2) i d s b upi u izlzni tk (it<<boja) u bliku (tlsn_duin,zsinj,intnzitt). bn krug s zd pluprnikm r (pdrzumvn 1) i bm (pdrzumvn pdrzumvn b). Svki krug im dinstvn, utmtski gnrisn idntifikcini br id. d s dhvti b, d s izrun pvrin krug, d s ispit d li su dv

krug dnk (krug1==krug2), d s ispit d li dn krug mnji d drugg (krug1<krug2) i d s krug upi u izlzni tk (it<<krug) u bliku Kid[r,b]. Niz bnih krugv m d sdri zdt br krugv (pdrzumvn 10). Stvr s przn, psl g s krugvi ddu dn p dn (niz+=krug; prpunjvnj niz prkid prgrm). d s dhvti kpcitt niz i br ppunjnih mst, d s dhvti krug s zdtim rdnim brm (niz[ind]; indks izvn psg prkid prgrm), d s dhvti drs prvg krug zdt b (niz[boja]; rzultt 0 k nm tkvg krug) i d s sdr niz upi u izlzni tk (it<<niz), dn krug p rdu.

Npisti n ziku C++ prgrm ki nprvi i ppuni dn niz bnih krugv, ispi niz n glvnm izlzu, prnlzi nmnji krug zdt b u nizu i ispi prnni krug n glvnm izlzu. Kristiti fiksn prmtr (n trb nit uitvti s glvng ulz). 23. Npisti n ziku C++ sld kls (kls prmiti nim knstruktrim, dstruktrm i prtrm z ddlu vrdnsti, ki su ptrbni z bzbdn krinj kls; grk prkidu prgrm):

Dmin sdri dv clbrn pl (p1,p2) u psgu d 0 d n1 (grk k s nvd vrdnst izvn psg). Prmtr ns n dru z svku dminu psbn, v z sv zdn i m d s pstvl i dhvt. d s dhvti vrdnst prvg i drugg pl dmin, d s izvri musbn zmn pl (~dom), d s drdi d li su dv dmin dnk (dom1==dom2; pri mu su dmin (p1,p2) i (p2,p1) dnk), d s dmin prit iz ulzng tk (ut>>dom) i d s upi u izlzni tk (it<<dom) u bliku (p1,p2) gd su p1 ip2 pl dmin. bl s prdstvl nizm rzliitih dmin tk d su susdn pl susdnih dmin dnk (t. drug pl prthdn dmin dnk prvm plu nrdn dmin). Stvr s przn kpcitt n(n+1)/2 dmin, nkn g s dmin ddu dn p dn (tab+=dom) n dgvrum kru uz krtnj dmin p ptrbi. d s dhvti br dmin n tbli, d s ispit d li nk dmin sm d s stvi n tblu, d s tbl isprzni i d s tbl upi u izlzni tk (it<<tab). Grk pku stvlnj ndzvln dmin.

Npisti n ziku C++ prgrm ki, itui pdtk s glvng ulz pstvi psg vrdnsti pl dmin (n), nprvi dgvruu tblu, stvl dmin n tblu dk m, ispi sdr tbl n glvnm izlzu i pnvl prthdn krk sv dk z n n prit ndzvlnu vrdnst. 24. Npisti n ziku C++ sld kls (kls prmiti nim knstruktrim, dstruktrm i prtrm z ddlu vrdnsti, ki su ptrbni z bzbdn krinj kls):

tp vnj s zd pmu rln duin i brzin. N dn tpi s n mnj brzin. gu d s dhvt tributi tp i d s izrun vrm krtnj u tpi.

10

Vnj sdri niz tp zdtg kpcitt (pdrzumvn 10). Stvr s przn psl g s tp ddu dn p dn. k s niz prpuni, prgrm s prkid. d s drdi ukupn duin vnj, ukupn trnj i srdnj brzin krtnj u tku vnj. pstrktn vzil im zdtu spstvnu tinu. d s dhvti nziv vrst vzil, d s drdi tin vzil i d s vzil upi u izlzni tk (it<<v). Pi s nziv vrst vzil i spstvn tin vzil. Bicikl vzil. Kmin vzil zdt spstvn tin i nsivsti. Stvr s bz tvr psl g m d s dd tvr zdt tin (k+=t) i d s skin tvr zdt tin (k-=t). k s kmin prtvri, vik trt s dbcu. Skidnjm prvi tvr tin tvr pstn dnk nuli. U izlzni tk s pi i trnutn tin tvr n kminu. Gnriki niz m d sdri lmnt nkg tip. Stvr s przn zdtg kpcitt (pdrzumvn 20) psl g lmnti mgu d s ddu dn p dn (niz+=e). Grk k s niz prpuni. d s dhvti br lmnta u nizu, d s dhvti lmnt zdtg rdng br (niz[i]) i d s niz isprzni. Grk k s pku dhvtiti npsti lmnt. rkki ut vzil ke sdri gnrisn niz vnji. Stvr s s prznim nizm kpcitt 10 vnji. d s zpn nv vnj kpcitta 100 tp, d s psldnj zpt vnji dd nv tp, d s drdi vnj s nvm srdnjm brzinm. U izlzni tk s pi i duin vnj s nvm srdnjm brzinm.

Sstviti n ziku C++ prgrm ki nprvi trkki ut s dv vnj k sdr p tri tp, ispi ut n glvnm izlzu i z vnju s nvm srdnjm brzinm ispi duinu, trnj i srdnju brzinu. 25. Krinjm prilnih gtvih kls tk u rvni i ggrfskih mst i kntur zdt nizm tk u rvni, sstviti n ziku C++ sld kls (kls prmiti nim knstruktrim, dstruktrm i prtrm z ddlu vrdnsti, ki su ptrbni z bzbdn krinj kls; grk privlivti izuzcim tip kls k su spsbln z ispisivnj tkst pruk):

pstrktni vr grf im dnslvnu znku. d s dhvti znk vr, d s drdi rln vliin vr i d s znk vr upi u dttku (dat<<cvor). Ggrfski vr vr ki sdri dn ggrfsk mst. Vliin vr bim kntur mst. d s dhvti cntr sdrng mst. U dttku s pi im mst i bim kntur. pstrktn grn grf im dnslvnu znku i sp dv vr grf. d s dhvti znk grn, d s drdi rln duin grn i d s grn upi u dttku (dat<<grana) u bliku ozn(poc,kra), gd su ozn znk grn poc i kra znk ptng i krnjg vr grn. Grn n sm d s kpir. Ggrfsk grn grn k sp dv ggrfsk vr. Duin grn rstnj izmu cntr mst n krvim grn. Gnriki niz s stvr przn zdtg kpcitt (pdrzumvn 10) psl g s lmnti ddu dn p dn (niz+=elem; prpunjvnj niz grk). d s
11

dhvti br lmnt niz i d s pristup lmntu s dtim rdnim brm (niz[ind]; grk k indks izvn psg). Ggrfsk krt sadri niz ggrfskih vrv i niz ggrfskih grn. Stvr s przn s zdtim kpcittim z nizv vrv i grn psl g s vrvi i grn ddu pdinn. d s dhvti vr, dnsn grn s dtm znkm (grk k n psti vr, dnsn grn s tm znkm). Krt n sm d s kpir niti d s prmni n bil ki nin, sim ddvnjm vrv i grn.

26. Sstviti n ziku C++ sld kls (kls prmiti nim knstruktrim, dstruktrm i prtrm z ddlu vrdnsti, ki su ptrbni z bzbdn krinj kls; u sluu grk prkidti prgrm):

pstrktn tritriln dinic im nziv (znkvni niz). d s dhvti dnslvn znk vrst, d s drdi br stnvnik i d s upi u izlzni tk (it<<jed) u bliku naziv:vrsta:brojSt:. Nsl dnstvn tritriln dinic u k ivi zdti br stnvnik. znk vrst 'N'. pstrktn blst tritriln dinic k sdri zdt br drugih tritrilnih dinic. Stvr s przn nkn g s dinic ddu dn p dn (obl+=jed; prkrnj kpcitt grk) uz prvru d li s dinic sm ddti. Prvru druu knkrtn blsti. Ddt dinic n pstn vlsnitv blsti v s sm pmti njn drs (pkziv). Br stnvnik blsti dnk zbiru br stnvnik sdrnih dinic. d s drdi pvrin. U izlzni tk s pi u blikunaziv:vrsta:brojSt:povrs[jed,,jed], gd jed rdstvl rzultt pisnj dn dinic. ptin blst k sdri sm nsl i im zdtu pvrinu. znk vrst 'O'. krug blst k sdri sm ptin. Pvrin blsti dnk zbiru pvrin sdrnih ptin. znk vrst 'K'. Pku ddvnj ndgvru dinic grk.

Npisti n ziku C++ prgrm ki frmir primr dng krug s dv ptin, d kih svk ptin im p dv nsl, ztim ispi krug n glvnm izlzu. Kristiti knstntn pdtk (n trb nit itti s glvng ulz). 27. Prktvti n ziku C++ sldi sistm kls (kls prmiti nim knstruktrim, dstruktrm i prtrm z ddlu vrdnsti, ki su ptrbni):

Zrubln kup s zd pmu pluprnik dnj (r1) i grnj (r2) snvic i visin (h) s pdrzumvnim vrdnstimr1 = 2, r2 = 1, h =1. gu d s dhvt dimnzi kup, d s izrun zprmin kup (V = h (r12 + r22 + r1 r2) / 3), d s ispit d li zprmin dn kup mnj d zprmin drug kup (k1<k2), d s dimnzi kup pritu iz dttk (dat>>k) i d s kup upisu u dttku (dat<<k) u bliku K(r1,r2,h). Niz zrublnih kup m d sdri zdti br (pdrzumvn 5) kup. Niz s stvr przn, psl g s kup mgu ddvti iz psldnjg ppunjng mst (niz+=k),
12

dk s niz n npuni (k s niz prpuni, prgrm s prkid). d s dhvt kpcitt niz, br ppunjnih mst i m d s ispit d li niz ppunjn d kr. Kup sdrn u nizu mgu d s dhvtu (niz[i]) i d s prnlzi indks kup nmnj zprmin (!niz). Sstviti n ziku C++ glvni prgrm ki s glvng ulz prit niz zrublnih kup, prnlzi kupu nmnj zprmin u nizu, ispi prnnu kupu i njnu zprminu n glvnm izlzu i pnvl prthdn krk dk z duinu niz n prit ndzvlnu vrdnst. 28. Npisti n ziku C++ sld kls (kls prmiti nim knstruktrim, dstruktrm i prtrm z ddlu vrdnsti, ki su ptrbni z bzbdn krinj kls; grk privlivti izuzcim tip dnstvnih kls k su prmln pisnjm tkst pruk):

List sdri ngrnin br pdtk nkg tip. d s dd dn pdtk n kr list, d s uzim dn pdtk s ptk list i d s ispit d li list przn. Grk k s pku uzti pdtk iz przn list. pstrktn lmnt im nziv mdl (nisk znkv) i rlnu tinu ki mgu d s dhvt. d s dhvti nziv vrst lmnt (nisk znkv) i d s lmnt upi u izlzni tk (it<<elem) u bliku (mdl,vrst,tin). tr lmnt ki im br cilindr i dnznn utmtski gnrisn clbrni idntifiktr mtr. Nziv vrst motor. U izlzni tk s pi u bliku (mdl,vrst,tin)[idBr,brCilindr]. si s krsrim lmnt ki im dnznn utmtski gnrisn clbrni idntifiktr si i bu iz skup: bl, ut, crvn, zln, plv i crn. Nziv vrst sasija. U izlzni tk s pi u bliku(mdl,vrst,tin)[idBr,bSlvim]. utmbil sdri siu s krsrim i mtr. Grk k s pku sklpiti d lmnt rzliitg mdl. d s upi u izlzni tk (it<<auto) u bliku auto{si,mtr}. Prizvdn trk sdri listu pkziv n utmbil. d s stvi (traka<<&auto) i d s uzm (traka>>&auto) dn utmbil s trk. rk n m d s kpir ni n ki nin.

Npisti n ziku C++ prgrm ki nprvi prizvdnu trku, stvi n nju tri utmbil i n kru uzm s nj dv utmbil i ispi ih n glvnm izlzu. Kristiti fiksn prmtr (n trb nit uitvti s glvng ulz). 29. Sstviti n ziku C++ sld kls (kls prmiti nim knstruktrim, dstruktrm i prtrm z ddlu vrdnsti, ki su ptrbni z bzbdn krinj kls):

sb im im i gdin strsti. d s ispit d li dn sb stri d drug (osoba1>osoba2) i d s sb upi u izlzni tk (it<<osoba) u bliku ime(god), gd su: ime im sb i god gdin strsti. sb n sm d s kpir ni n ki nin.
13

Studnt sb ki m d pl nvi zdti br ispit (pdrzumvn 20) z k s pmt sm cn. Stvr s bz idn cn, psl g s cn ddu dn p dn (student+=ocena). Pku ddvnj prvi cn prkid prgrm. d s ispit klik cn m d s dd, d s izrun srdnj vrdnst plnih ispit. U izlzni tk s pi u blikuime(god)/sred, gd sred srdnj cn plnih ispit. Imnik m d sdri zdt br (pdrzumvn 10) sb prizvln vrst. Stvr s przn psl g s sb ddu dn p dn (imenik+=&osoba). Prpunjvnj imnik prkid prgrm. d s dhvti kpcitt imnik, br sb u imniku, d s imnik urdi p pdum rdsldu strsti sb u njmu i d s upi u izlzni tk (it<<imenik), tk t s svk sb pi u psbnm rdu. Imnik n sm d s kpir ni n ki nin.

Npisti n ziku C++ prgrm ki itui ptrbn pdtk s glvng ulz nprvi imnik ki sdri izvstn br sb prizvln vrst, urdi imnik p pdum rdsldu strsti sb u njmu i ispi imnik n glvnm izlzu. 30. Sstviti n ziku C++ sld kls (kls prmiti nim knstruktrim, dstruktrm i prtrm z ddlu vrdnsti, ki su ptrbni z bzbdn krinj kls; u sluu grk prkidti prgrm):

sb im zdt im prizvln duin (pdrzumvn przn) i zdtu tinu (pdrzumvn 0). d s dhvti im i tin i d s sb upi u izlzni tk (it<<osoba) u bliku im(tin). Vzil im zdtu spstvnu tinu i zdtg vz (sbu). Vzil n sm d s kpir ni d s ddlu. d s drdi ukupn tin vzil i d s vzil upi u izlzni tk (it<<vozilo) u bliku [vz,sp]. rtn vzil vzil k im zdtu nsivst. d s utvri (vozilo+=tezina) i d s istvri (vozilo-=tezina) trt zdt tin (grk k s vzil prtvri pri utvru, dnsn k n vzilu nm dvln trt pri istvru). U izlzni tk s pi u bliku [vz,sp](tvr/nsivst). Putnik vzil vzil k im zdt mksimlni br putnik (sb). d s dhvti trnutni br putnik u vzilu, d u vzil ulzi nvi putnik (vozilo+= putnik; grk k vzil pun) i d iz vzil izlzi putnik s dtim rdnim brm (prstli putnici s pmru tk d ppun uprnjn mst; grk k trni putnik n psti). U izlzni tk s pi u bliku [vz,sp]{putnik||putnik}.

Npisti n ziku C++ prgrm ki nprvi niz d 2 vzil: dng trtng s nt trt i dng putnikg s dnim putnikm i psl ispi t niz n glvnm izlzu zdn s njihvim tinm. Kristiti knstntn prmtr (n trb nit uitvti s glvng ulz). 31. C++ ( , , ; ):
14

( ), ( ). . (it<<auto) []. . ( ) , 2.5 4.0. . . ( NULL, ). (it<<mesto) , , (). . . () (parking+=mesto) . . (parking+=automobil) . . ( ). . , . , .

C++ 10 , , . 32. Java :

, . . . . . Kid(re,im). . . Pid(a,b). .
15

. . [,,,], . . .

Java ( ). Citaj .

16

You might also like