You are on page 1of 4

Algoritmikë dhe Programim i Avancuar Seminar 3

1. Ndertoni nje skedar vektor.c ne C++ i cili mban implementimin e funksioneve te meposhtme qe
veprojne mbi nje vektor me elemente duke perdorur klasen template Vector.
a. meMadhSe: merr si input nje vektor A dhe nje numer te plote k e kthen numrin e elementeve te A
me te medhenj se k;
b. benPjese: merr si input nje vektor A dhe nje numer te plote k dhe kthen true nqs k ndodhet ne A;
c. meMadhi: merr si input nje vektor A dhe kthen vleren e elementit me te madh ne A dhe
pozicionin e tij;
d. fshi: merr si input nje vektor A dhe nje numer te plote k dhe fshin elementin e pare ne A me
vleren k duke zhvendosur majtas te gjithe elementet pasues te k dhe duke shenuar 0 ne fund te A
e. rendit: merr si input nje vektor A dhe percakton nqs elementet ne A jane te renditur ne rend rrites,
zbrites ose konstant.
f. inverto: merr si input nje vektor A dhe e modifikon duke invertuar elementet

2. Përcaktoni klase qe mban te dhenat e nje studenti si me poshte:


• numriamzes:integer - nje numrer me 6 shifra
• emri:string - string me max 30 karaktere
• mbiemi:string - string me max 30 karaktere
• mosha:integer – nga 12 deri ne 105
Ndertoni dhe implementoni metodat e meposhtem:
a. Konstruktorin per te inicializuar: numrin e amzes, emrin, mbiemrin dhe moshen
b. Konstruktorin pa parametra
c. Metodat per leximin e te dhenave (numri i amzes, emri, mbiemri, mosha)
d. Metoden qe printon emrin
e. Metoden per printimin e te dhenave (numri i amzes, emri, mbiemri, mosha)
f. Nje metode qe krahason moshe e dy studenteve.

3. Percaktoni dhe implementoni nje klase Vektor qe mban te dhena te tipit integer. Ndertoni metodat :
a. Konstruktorin qe ka si paremeter madhesin e vektorit
b. Destruktorin
c. vendosMadhesine– qe fshin vektorin e vjeter dhe krijon nje vektror te ri
d. merrMadhesine – qe kthen madhesine e vektorit
e. lexo – qe lexon vektorin nga perdoruesi
f. printo – printon vektorin
g. mesatare – llogarit mesataren e vektorit
h. minimum – gjen vleren minimale te vektorit
i. inverto – inverton vektorin
j. rendit – rendit vektorin
Shkruani nje program i cili demostron perdorimin e klases.

4. Krijoni klasen Data qe permban informacion rreth dates ne formatin, muaj, date, vit. Klasa juaj duhet
te kete nje konstruktor me tre parametra qe perdororen per te inicializuar tre elementet e dates.
Supozoni qe vlerat e futura per daten jane te sakta por sigurohuni qe muaji te kete vleren 1-12, nese jo
vendoseni ate ne vlere 1. Krijoni metodat qe lexojne dhe printojne secilin nga elementet e dates.
Krijoni nje metode qe shfaq daten ne formatin muaj, dite, vit te ndara me slash /. Shkruani nje
program i cili demostron perdorimin e klases.

5. Krijoni klasen Llogaribankare qe mund te perdoret nga nje banke per te perfaqesuar llogarine bankare
te klienteve.

1
Algoritmikë dhe Programim i Avancuar Seminar 3
a. Klasa duhet te kete keto te dhena:
- nje te dhene te tipit integer qe perfaqeson numrin e llogarise
- nje te dhene te tipit string per emrin e mbajtesit te llogarise
- nje te dhene te tipit integer qe perfaqeson balancen e logarise
b. Krijoni metodat:
- Konstruktorin qe i jep vlere te tre te dhenave te klases (nr. llogaris, emri, balanca).
Konstruktori duhet te kontrolloj nese balanca fillestare eshte apo jo me e madhe ose e
barabarte me 0. Nese jo atehere vendoseni vleren e balances ne 0 dhe shfaqni nje mesazh
gabimi qe balanca fillestare ishte e gabuar.
- Kredit qe shton nje vlere balances ekzistuese.
- Debit qe terheq (zbret) para nga llogaria duke siguruar qe vlera e terhequr nuk eshte me e
madhe se balanca ne llogari. Nese kjo vlere eshte me e madhe atehere vlera te mos ndryshohet
dhe funksioni duhet te shfaqe nje mesazh “Vlera qe doni te terhiqni eshte me e madhe se
gjendja juaj ne llogari.”
- Balanca qe kthen balancen e llogarise.

6. Ndryshoni klasen Llogaribankare te krijuar ne ushtrimin e mesiper si me poshte:


- Shtoni dy te dhena te tipit bool-ean: rrjedhese dhe depozite. Vetem njera nga to duhet te marri
vlere true per te treguar nese llogaria e klientit eshte llogari rrjedhese apo depozite.
- Shtoni te dhene maturuar. Kjo e dhene mund te kete vleren -1 kur llogaria eshte e tipit
rrjedhese, vleren 0 kur llogaria eshte e tipit depozite por e pamaturuar (klienti nuk mund te bej
terheqie/derdhje nga llogaria) dhe 1 kur llogaria eshte e tipit depozite e maturuar (klienti mund
te bej terheqie/derdhir nga llogaria).
- Rifreskoni konstruktorin per te inicializuar me vlere te dhenat e shtuara
- Ndryshoni metodat Kredit dhe dhe Debit qe teston te dhenat e shtuara me siper. (dmth klienti
mund te kryej veprime ne cdo moment nese eshte llogari rrjedhese dhe kur eshte depozite
vetem kur ajo eshte e maturuar).
- Shtoni nje metode qe ndryshon nese llogaria eshte e maturuar apo jo ne rastin e depozites.
- Shtoni nje anetar te dhene statike perqindjaInteresitVjetor per te ruajtu perqindjen e interesit
vjetor nese llogaria eshte depozite.
- Krijoni nje funksion llogaritInteresinMujor qe llogarit interesin mujor duke shumezuar
balancen me perqindjaInteresitVjetor/12, ky interes duhet te shtohet tek balanca e llogarise.
- Krijoni nje funksion static modifikoPerqindjenInteresit qe vendos perqindjaInteresitVjetor ne
nje vlere te re.
- Shkruani programin qe teston klasen e krijuar. Inicializoni tre objekte te ndryshem te klases
llogaria1 te tipit rrjedhese dhe llogaria2 te tipit depozite me balance perkatesisht 2.000.00 dhe
3.000.000 leke. Ndryshoni depozine nga e pamaturuar ne e maturua ose anasjelltas. Perdorni
metodat Kredit dhe Debit. Vendosni vleren e perqindjaInteresitVjetor ne 3 perqind. Me pas
llogaritni interesin mujor dhe printoni balancen e re per cdo depozite. Me pas vendoseni
perqindjaInteresitVjetor ne vleren 4 perqind dhe llogaritni interesin e muajit pasardhes dhe
printoni balancen e depozites.

7. Krijoni klasen Fatura qe mund te perdoret nga nje dyqan pajisjesh elektronike. Fatura duhet te kete te
dhena:
◼ numerin e fatures (tipi string),
◼ pershkrimin (tipi string)
◼ sasine e mallrave qe do te blihen (tipi int)
◼ cmimin per njesi (tipi int).
Klasa duhet te kete nje konstruktor i cili inicializon 4 te dhenat e klases me nje vlere te caktuar.
2
Algoritmikë dhe Programim i Avancuar Seminar 3
Krijoni metoden shumaFatures qe llogarit shumen e fatures dhe e kthen kete vlere. Nese sasia dhe
cmimi vendosen ne vlera negative atehere vendosi si 0.
Shkruani programin qe perdor klases e krijuar.

8. Krijoni klasen Thyesat qe ka karakteristikat e meposhtme :


a. Krijoni nje konstruktor qe nuk lejon vendosjen e emerues ten je vlere 0, thjeshton thyesat qe nuk
jane ne formen e tyre me te thejshte dhe nuk lejon vlere negative ne emerues.
b. Overload operatoret e mbledhjes, zbritjes, shumezimit dhe pjestimit per kete klase.
c. Overload operatoret relacional dhe te barazimit per kete klase.

9. Krijoni klasen Autor e cila permban:


a. Tre te dhena private: emri(string), email (string) dhe gjinine (char ‘m’, ‘f’, ose ‘p’ ne rastin kur
eshte e papercaktuar.
b. Nje konstruktor per te inicializuar emrin, email dhe gjinine ne nje vlere te dhene.
c. Funksione per afishimin e emrin, email dhe gjinise.
d. Nje funksion per validimin e email nese pozicioni i @ nuk eshte ne fillim dhe ne fund te email.
e. Nje funksion print qe printon te dhenat ne formatin “emri (gjinia) dhe email”
Krijoni programin per testimin e klases.

Autor
- emri:string
- emai:string
- gjinia:char
▪ Autor(emir: string, email: string, gjinia: char)
▪ afishoEmrin():string
▪ afishoEmail():string
▪ validoEmail(emai:stringl):void
▪ afishoGjinine():char
▪ print():void

10. Krijoni klasen Libri. Supozojme se nje liber eshte shkruar nga vetem nje autor. Klasa Libri permban:
a. Kater te dhena private emri(string), autor (string), cmimi (double), sasiaStok (int me vlere defaul
0). Cmimi dhe sasia ne stok duhet te jene vlera pozitive ose 0.
b. Konstruktorin
c. Destruktorin
d. Funksionet per afishimin e te dhenave private emrin, autori, cmimi, sasina ne stok.
e. Nje funksion qe lexon cmimin i cili nese futet nje vlere negative e ve ate ne vleren 0.
f. Nje funksion qe lexon sasine ne stok i cili nese futet nje vlere negativ e ve ate ne vleren 0.
g. Nje funksion qe teston per dy libra se kush ka cmim me te larte dhe kthen emrin e librit
h. Nje funksion qe teston se kush eshte libri qe ka stok me te madh nga tre libra dhe kthen emrin e
librit
Krijoni programin per testimin e klases qe krijuat.

Liber
− emer:string
− string:Autor
− cmimi:double
− sasiaStok:int=0
▪ Liber(emri:stringi, string:autor, cmimi:double, sasiaStok:int);

3
Algoritmikë dhe Programim i Avancuar Seminar 3
▪ afishoEmrin():string
▪ afishoAutor():string
▪ afishoCmimin():double
▪ lexoCmimin(cmimi:double):void
▪ afishoSasiaStok():int
▪ lexoSasiaStok(sasiaStok:int):void
▪ print():void
▪ sasiaMadhe(Libri a):string
▪ stockMadhe(Libri a):string

11. Ndryshoni klasen Libri. Anetari privat autor i tipit string duhet te behet nje instance e klases autor qe
krijuam ne ushtrimin e 9. Realizoni ndryshimet e nevojshme ne metodat e klases. Krijoni metodat:
- Autor afishoAutor() qe kthen nje object (instance) te klases Autor
- string afishoEmrinAutorit() qe kthen emrin e autorit per instancen e ketij Libri.
Ndryshoni programin testimit e klases per te testuar funksionet e shtuara.

12. Te realizohet ushtrimi i 11 duke perdorin kalimin me refernce te parametrave Autor dhe string.

13. Shkruani ne C++ funksione qe realizojne veprime me matricat si gjetja e shumes se matrices, gjetja e
elementin me te madh ose me te vogel, mbledhja e elementeve te nje matrice me nje vlere kostante,
gjen shumen e dy matricave, fshirja e nje rreshti apo shtylle, matrica e transpozuar, etj.

You might also like