You are on page 1of 6

1 Operatorske funkcije

Zadatak 1. U klasu Set, kreiranu u prvoj vežbi, dodati:


 operatorski funkciju - koja odredjuje razliku 2 skupa
 operatorsu funkciju + koja odredjue uniju 2 skupa
 operatorsku funkciju * koja podredjuje presek 2 skupa i
 operatorsku funkciju = koja dodeljuje jedan skup drugom.
Takođe, funkciju za učitavanje elemenata skupa sa standardnog ulaza zameniti
prijateljskom operatorskom funkcijom >> za učitavanje elemenata iz tekstualnog toka
podataka, a funkciju za prikaz elemenata skupa na standardni izlaz, prijateljskom
operatorskom funkcijom << za upis elemenata skupa u tekstualni tok podataka.
U funkciji main kreirati dva objekta klase Set sa po 5 i 8 elemenata, respektivno, učitati
njihove elemente sa standardnog ulaza i na standardni izlaz prikazati njihovu uniju,
presek i razliku.

Zadatak 2. U klasu Student, kreiranu u prvoj vežbi, dodati:


 konstruktor bez argumenata koji broj ispita postavlja na 30,
 operatorski funkciju > koja poredi dva studenta prema prosečnoj oceni,
 operatorsku funkciju = koja jedan ovjekat klase Student dodeljuje drugom.
Takođe, funkciju za učitavanje podataka o studentu sa standardnog ulaza zameniti
prijateljskom operatorskom funkcijom >> za učitavanje podataka o studentu iz
tekstualnog toka podataka, a funkciju za prikaz podataka o studentu na standardni izlaz,
prijateljskom operatorskom funkcijom << za upis podataka o studentu u tekstualni tok
podataka.
U funkciji main kreirati vektor objekata klase Student (sa po 30 ispita), učitati njihove
podatke sa standardnog ulaza, urediti niz u nerastućem redosledu prema prosečnoj
oceni i uredjeni niz prikazati na standardni izlaz.

Zadatak 3. U klasu Poligon, kreiranu u prvoj vežbi, dodati:


 prefiksnu operatorski funkciju -- koja preslikava poligon simetrično u odnosu
na x osu,
 postfiksnu operatorsku funkciju -- koja preslikava poligon simetrično u odnosu
na y osu.
Takođe, funkciju za učitavanje koordinata temena sa standardnog ulaza zameniti
prijateljskom operatorskom funkcijom >> za učitavanje koordinata iz tekstualnog toka
podataka, a funkciju za prikaz koordinata temena na standardni izlaz, prijateljskom
operatorskom funkcijom << za upis koordinat u tekstualni tok podataka.
U funkciji main kreirati objekat klase Poligon sa 5 temena, učitati koordinate temena sa
standardnog ulaza, i preslikati ga simetrično na x, a onda i u odnosu na y osu i nakon
svakog preslikavanja prikazati koordinate temena na standardni izlaz.
Zadatak 4. U klasu String, kreiranu u prvoj vežbi, dodati:
 operatorsku funkciju + koja vrši nadovezivanje dva stringa,
 prefiksnu operatorsku funkciju ++ koja prvo slovo u stringu konvertuje u
veliko,
 postfiksnu operatorsku funkciju ++ koja sva slova u stringu konvertuje u
velika,
 operatorsku funkciju = koja jedan objekat klase string dodeljuje drugom.
Takođe, funkciju za učitavanje stringa sa standardnog ulaza zameniti prijateljskom
operatorskom funkcijom >> za učitavanje stringa iz tekstualnog toka podataka, a
funkciju za prikaz strigna na standardni izlaz, prijateljskom operatorskom funkcijom <<
za upis stringa u tekstualni tok podataka.
U funkciji main kreirati 2 objekta klase string, učitati njihove vrednosti sa standardnog
ulaza, u prvom stringu prvo slovo konvertovati u veliko, u drugom stringu sva slova
konvertovati u velika, izvršiti nadovezivanje tako tranformisanih stringova, rezultujući
string dodeliti trećem objektu klase string i prikazati ga na standardni izlaz.

Zadatak 5. U klasu Image, krieranu u prvoj vežbi, dodati:


 operatorsku funkciju + koja preklapa sadržaje dveju slika (u rezultujućoj slici
piksel na poziciji i,,j dobija vrednost 1, ako je bar u jednoj od slika koje se
preklapaju na toj poziciji bila vrednost 1),
 operatorsku funkciju = za dodelu jednog objekta klase Image drugom.
Takođe, funkciju za invertovanje zameniti prefiksnom operatorskom funkcijom --,
funkciju za učitavanje sadržaja slike sa standardnog ulaza zameniti prijateljskom
operatorskom funkcijom >> za učitavanje sadržaja slike iz tekstualnog toka podataka, a
funkciju za prikaz sadržaja slike na standardni izlaz, prijateljskom operatorskom
funkcijom << za upis sadržaja slike u tekstualni tok podataka.
U funkciji main kreirati 2 objekta klase Image reda 5x5, učitati njihove sadržaje sa
standardnog ulaza, invertovati ih i izvršiti njihovo preklapanje. Rezultujuću sliku dodeliti
trećem objektu klase Image i njegov sadržaj prikazati na standardni izlaz.

Zadatak 6. U klasu Buffer, krieranu u prvoj vežbi, dodati:


 operatorsku funkciju + koja nadovezuje sadržaje 2 bafera,
 operatorsku funkciju – koja iz bafera izbacuje zadati element,
 operatorsku funkciju = za dodelu jednog objekta klase Buffer drugom.
Takođe, funkciju za prikaz sadržaja bafera na standardni izlaz zameniti prijateljskom
operatorskom funkcijom << za upis sadržaja slike u tekstualni tok podataka.
U funkciji main kreirati 2 objekta klase Buffer, u njih upisati po nekoliko elemenata,
nadoveyati ih i rezultujući objekat dodeliti trećem objektu klase Buffer. Iz tog objekta
izbaciti neki od unetih elemenata i prikazati ga na standardni izlaz.

Zadatak 7. U klasu TriangleMatrix, krieranu u prvoj vežbi, dodati:


 operatorsku funkciju + koja sabira dve trougaone matrice iste dimenyije,
 operatorsku funkciju + koja svim elementima matrice dodaje zadati ceo broj,
 operatorsku funkciju * za množenje sa trougaonom matricom iste dimenzije,
 operatorsku funkciju = za dodelu jednog objekta klase Buffer drugom.
Takođe, implementirati i sledeće prijateljske operatorske funkcije
 operatorsku funkciju * koja množi ceo broj i trougaonu matricu tako što
pomnoži svaki element matrice zadatim brojem,
 operatorsku funkciju >> za učitavaje sadržaja matrice iz zadatog tekstualnog
toka,
 operatorsku funkciju << za upis sadržaja matrice u tekstualni tok podataka.
U funkciji main kreirati 2 objekta klase TriangleMatrix i na standardni izlaz prikazati
njihov zbir, proizvod, rezultat sabiranja prve matrice sa konstantom 5 i rezultat
množenja konstante 5 i druge matrice. Rezultat svake operacije najpre dodeliti novom
objektu i sadržaj tog objekta prikazati.

Zadatak 8. U klasu Niz, krieranu u prvoj vežbi, dodati:


 operatorsku funkciju + koja sabira 2 niza iste dužine,
 operatorsku funkciju + koja svim članovima niza dodaje zadati ceo broj,
 operatorsku funkciju = za dodelu jednog objekta klase Niz drugom.
Takođe, implementirati i sledeće prijateljske operatorske funkcije
 operatorsku funkciju * koja množi ceo broj i niz tako što pomnoži svaki
element niza zadatim brojem,
 operatorsku funkciju >> za učitavaje sadržaja niza iz zadatog tekstualnog
toka,
 operatorsku funkciju << za upis sadržaja niza u tekstualni tok podataka.
U funkciji main kreirati 2 objekta klase Niz i na standardni izlaz prikazati njihov zbir,
proizvod, rezultat sabiranja prvog niza sa konstantom 5 i rezultat množenja konstante 5
i drugog niza. Rezultat svake operacije najpre dodeliti novom objektu i sadržaj tog
objekta prikazati.

Zadatak 9. U klasi Vektor, krieranu u prvoj vežbi, dodati:


 postfiksnu operatorsku funkciju ++ koja rotira sadržaj vektora za jedno mesto
udesno,
 prefiksnu operatorsku funkciju ++ koja svaki element vektora uvećava za 1,
 operatorsku funkciju * za izračunavanje skalarnog proizvoda 2 vektora,
Takođe, implementirati i sledeće prijateljske operatorske funkcije
 operatorsku funkciju >> za učitavaje sadržaja vektora iz zadatog tekstualnog
toka,
 operatorsku funkciju << za upis sadržaja vektora u tekstualni tok podataka.
U funkciji main kreirati 2 objekta klase Vektor, učitati njihove sadržaje sa standardnog
ulaza i na standardni izlaz prikazati njihov skalarni proizvod. Zatim, prvi vektor rotirati za
k mesta udesno i prikazati ga na standardni izlaz, a elemente drugog vektora uvećati za
k i prikazati ga na standardni izlaz.

Zadatak 10. U klasu Minesweeper, krieranu u prvoj vežbi, dodati:


 postfiksnu operatorsku funkciju ++ koja sve mine u minskom polju pomera za
jedno mesto udesno (one iz poslednje kolone prenosi u prvu),
 postfiksnu operatorsku funkciju ++ koja sve mine u minskom polju pomera za
jedno mesto nadole (one iz poslednje vrste prenosi u prvu),
 postfiksnu operatorsku funkciju -- koja sve mine u minskom polju pomera za
jedno mesto ulevo (one iz prve kolone prenosi u poslednju),
 postfiksnu operatorsku funkciju -- koja sve mine u minskom polju pomera za
jedno mesto nagoree (one iz prve vrste prenosi u poslednju),
Takođe, implementirati i sledeće prijateljske operatorske funkcije
 operatorsku funkciju >> za učitavaje sadržaja minskog polja iz zadatog
tekstualnog toka,
 operatorsku funkciju << za upis sadržaja minskog polja u tekstualni tok
podataka.
U funkciji main kreirati objekat klase Minesweeper i izvršiti translitanje mina u sva četiri
smera. Nakon svakog transliranja novi sadržaj minskog polja prikazati na standardni
izlaz.

Zadatak 11. Klasi Matrica, kreiranoj u prethodnoj vežbi, dodati sledeće operatorske
funkcije:
 prefiksnu operatorsku funkciju ++ koja povećava vrednost svakog polja za 1 i
zatim vraća sumu svih polja
 postfiksnu operatorsku funkciju ++ koja vraća sumu svih polja i zatim povećava
vrednost svakog polja za 1
 operatorsku funkciju = za dodelu jednog objekta klase Matrica drugom.
 prijateljsku operatorsku funkciju >> za učitavaje sadržaja matrice iz zadatog
tekstualnog toka,
 prijateljsku operatorsku funkciju << za upis sadržaja matrice u tekstualni tok
podataka.
U funkciji main kreirati objekat klase Matrica, učitati vrednosti ćelija matrice sa
standardnog ulaza. Zatim sumirati vrednosti 1 i 3. kolone, kao i 2 i 3. reda, demonstrirati
upotrebu svih navedenih operatora, a potom odštampati matricu.

Zadatak 12. Klasi Vektor, kreiranoj u prethodnoj vežbi, dodati sledeće operatorske
funkcije:
 operatorsku funkciju + koja sabira 2 niza iste dužine,
 operatorsku funkciju + koja svim članovima niza dodaje zadati ceo broj,
 operatorsku funkciju = za dodelu jednog objekta klase Vektor drugom.
 prijateljsku operatorsku funkciju * koja množi ceo broj i niz tako što pomnoži svaki
element niza zadatim brojem,
 prijateljsku operatorsku funkciju >> za učitavanje sadržaja vektora iz zadatog
tekstualnog toka,
 prijateljsku operatorsku funkciju << za upis sadržaja vektora u tekstualni tok
podataka.
U funkciji main kreirati 2 objekta klase Vektor i na standardni izlaz prikazati njihov zbir,
proizvod, rezultat sabiranja prvog niza sa brojem 8 i rezultat množenja broja 6 i drugog
niza. Rezultat svake operacije najpre dodeliti novom objektu i sadržaj tog objekta
prikazati.

Zadatak 13. Klasi Fabrika, kreiranoj u prethodnoj vežbi, dodati sledeće operatorske
funkcije:
 operatorsku funkciju + za dodeljivanje radnika fabrici
 operatorsku funkciju - za otpuštanje radnika sa navedenim jmbg-om
 prijateljsku operatorsku funkciju << za upis sadržaja niza u tekstualni tok
Klasi Radnik dodati sledeće operatorske funkcije:
 prijateljsku operatorsku funkciju >> za učitavanje podataka
 prijateljsku operatorsku funkciju << za štampanje informacija o radniku
U funkciji main kreirati 3 objekta klase Radnik. Zatim napraviti objekat klase Fabrika i
demonstrirati upotrebu svih navedenih operatora.

Zadatak 14. Klasi Amfiteatar, kreiranoj u prethodnoj vežbi, dodati sledeće operatorske
funkcije:
 operatorsku funkciju + za dodeljivanje slobodnog mesta studentu. Studente treba
raspoređivati popunjavanjem svakog drugog mesta počevši od zadnjeg reda
zadnje kolone. Ukoliko se na taj način ne nađe slobodno mesto (svako drugo
mesto je popunjeno), dodeliti prvo slobodno mesto počevši od zadnjeg reda
zadnje kolone.
 operatorsku funkciju - za oslobađanje mesta sa zadatim koordinatama
 prijateljsku operatorsku funkciju << za ispis naziva amfiteatra, prosečnu ocenu
svih prisutnih studenata kao i indeks studenta sa najvećom prosečnom ocenom
Klasi Student dodati sledeće operatorske funkcije:
 prijateljsku operatorsku funkciju >> za učitavanje podataka
 prijateljsku operatorsku funkciju << za štampanje informacija o studentu
U funkciji main kreirati više objekta klase Student. Zatim napraviti objekat klase
Amfiteatar i demonstrirati upotrebu svih navedenih operatora.

Zadatak 15. Klasi Amfiteatar, kreiranoj u prethodnoj vežbi, dodati sledeće operatorske
funkcije:
 operatorsku funkciju + za dodeljivanje slobodnog mesta studentu. Studente treba
raspoređivati popunjavanjem svakog drugog mesta počevši od prvog reda prve
kolone. Ukoliko se na taj način ne nađe slobodno mesto (svako drugo mesto je
popunjeno), dodeliti prvo slobodno mesto počevši od prvog reda prve kolone.
Takođe treba izvršiti proveru da li je student sa tim brojem indeksa već prisutan.
 operatorsku funkciju - za oslobađanje mesta sa zadatim koordinatama
 prijateljsku operatorsku funkciju << za ispis naziva amfiteatra i informacija o svim
prisutnim studentima
Klasi Student dodati sledeće operatorske funkcije:
 prijateljsku operatorsku funkciju >> za učitavanje podataka
 prijateljsku operatorsku funkciju << za štampanje informacija o studentu
U funkciji main kreirati više objekta klase Student. Zatim napraviti objekat klase
Amfiteatar i demonstrirati upotrebu svih navedenih operatora.

You might also like