c++ zadaci

16
1. Kreirati klasu Slagalica koja omogućava zadavanje tajne reči, slučajno permutovanje znakova tajne reči, kao i dve operacije  zameni(i, j), rotiraj(i, j). Operacija zameni(i, j) menja mesta i  – tom i  j  tom karakteru u transformisanoj reči, 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 omogućiti igranje sledeće igre kompjuter učitava niz reči iz datoteke ‘recnik.dat’, odabira slučajno jednu od njih i permutuje joj karaktere. Posle toga prikazuje permutovanu reč korisniku i traži od njega komande. Posle svake komande treba odštampati promenjenu reč. Igra se završava kada igrač pogodi traženu reč ili posle 10 pokušaja. 2. Kreirati klasu Kom pl eks ni Br oj  koja omogućava rad sa kompleksnim brojevima. Klasa bi trebalo da ima: a. podatke r e i i m , 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. odgovarajuće getere i setere;  e.  javni metod m oduo( )  koji kao rezultat vraća moduo kompleksnog broja; f.  javne metode kojima se izvode osnovne operacije sa kompleksnim brojevima  (sabiranje, oduzimanje, množenje, stepenovanje, deljenje).  3. Kreirati klasu Raz l om ak  koja omogućava rad sa racionalnim brojevima. Klasa bi trebalo da ima: a. podatke br  i i m , za brojilac i imenilac razlomka;  b. privatni metod skrati() koji dovodi razlomak na neskrativi oblik. Može se definisati i privatni metod i nt nzd( i nt a, i nt b)  koji određuje najveći zajednički delilac dva cela broja;  c. konstruktor sa dva parametra koji postavlja vrednosti za brojilac i imenilac. Voditi računa o tome da imenilac ne može biti 0;  d. konstruktor bez parametara koji postavlja vrednost kompleksnog broja na 0. U tom slučaju je imenilac jednak 1; e. odgovarajuće getere i setere;  f.  javne metode kojima se izvode osnovne operacije sa razlomcima (sabiranje, oduzimanje, množenje, stepenovanje, deljenje).  4. Kreirati klasu Aut om obi l  koja ima: a. celobrojne podatke t r enut naB r zi na i m ak s i m al naBr z i na koji predstavljaju trenutnu i maksimalnu brzinu automobila u km/h. Trenutna brzina automobila ne može biti veća od maksimalne;  b. realni podatak pr edj e ni Pu t  koji određuje koliko kilometara je automobil prešao; c. konstruktor sa jednim celobrojnim parametrom koji predstavlja maksimalnu brzinu automobila. Ona ne može biti negativna. Trenutna brzina i pređeni put se postavljaju na 0; 1

Upload: milos-cune-stojanovic

Post on 16-Oct-2015

29 views

Category:

Documents


0 download

TRANSCRIPT

  • 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. 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.

    2

  • 7. 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

    0=n , onda se raunaju sve sobe, bez obzira na broj kreveta. Naravno, raunaju se samo zauzete sobe.

    8. 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)).

    9. Kreirati klasu Kutija koja ima polja visina, sirina i duzina. Napisati odgovarajue getere i setere, kao i konstruktor sa 3 parametra. 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.

    10. 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).

    3

  • 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 elementom 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 njegovo 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.

    Metod count() bi trebalo da daje trenutni broj elemenata u hipu.

    11. 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

    100 19 36 17 3

    25 1 2 7 0 1 2 3 4 5 6 7 8

    4

  • 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.

    12. 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).

    13. 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, 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.

    5

  • 14. 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 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).

    15. 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 da li je

    isti jednakokraki.

    16. 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 (

  • 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 .

    17. 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.

    18. 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

  • 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: ", 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.

    19. 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

  • 20. 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

  • 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.

    22. 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

  • 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
  • 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

  • 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.

    27. 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

  • (it
  • C++ , 0 10. .

    30. C++ ( , , ):

    (), ( ) . (it

  • ( 10). , (niz+=krug; ). , (niz[ind]; ), (niz[boja]; 0 ) (it