You are on page 1of 20

Shembuj me tabelat 2-përmasore

LEKSIONI 11

1
Shembulli 1
Një komision prej M personash vlerëson dosjet e paraqitura nga N persona. Secili nga
anëtarët e komisionit ka të drejtë të vendos vlerësimet 1,2,3,4 për çdo person. Në
tabelën T[1...M][1..N] jepen vlerësimet e dhëna nga çdo anëtar komisioni për çdo dosje.
Emrat e komisionerëve ruhen në tabelën A[1...M] kurse emrat e personave në tabelën
E[1...N].
a. Gjeni se cilët anëtarë komisioni kanë dhënë më shumë vlerësime 4 ?
b. Të afishohen emrat e personave që nuk kanë marr vlerësime 4 ose 3.
c. Të ndërtohet një algoritëm që rendit personat sipas pikëve të fituara (rendin rrites)?

2
Gjeni se cilët anëtarë komisioni kanë
dhënë më shumë vlerësime 4 ?
Fillim //Gjej vleren max
Lexo M,N,A[1..M],E[1..N],T[1..M] Max=temp[1]
[1..N],temp[1..M] Per i=2 deri M me hap 1
Per i=1 deri M me hap 1 Nqs Max<temp[i] ath
Fillim Max=temp[i]
fund(nqs)
Count=0
Per j=1 deri N me hap 1 Fund(per)
Nqs T[i][j]==4 ath
count++ //Gjej anetaret qe kane max
fund(nqs)
fund(per) Per i=1 deri M me hap 1
temp[i]=count Nqs temp[i]==Max ath
Fund(per) Shkruaj (A[i])
fund(nqs)
Fund(per)

3
Të afishohen emrat e personave që nuk
kanë marr vlerësime 4 ose 3.
Menyra 1 Menyra 2
Per j=1 deri N me hap 1 Per j=1 deri N me hap 1
Fillim Fillim
ugjet=0
nrKaterTre=0
Per i=1 deri M me hap 1 i=1
Gjersa(i<=M dhe ugjet==0) bej
Nqs (T[i][j]==4)|| (T[i][j]==3) ath Fillim
nrKaterTre++
fund(nqs) Nqs (T[i][j]==4)|| (T[i][j]==3) ath
ugjet==1
Nqs nrKaterTre==0 ath fund(nqs)
Shkruaj (E[j]) i++
Fund(derisa)
Fund(nqs)
Nqs ugjet==0 ath
Fund Shkruaj (E[j])
Fund(nqs)
Fund

4
Të ndërtohet një algoritëm që rendit
personat sipas pikëve të fituara?
Lexo Piket[1..N] Per i=1 deri N-1 me hap 1
Per j=1 deri N me hap 1 Per j=i+1 deri N me hap 1
Fillim Nqs Piket[i]>Piket[j] ath
shuma=0 Fillim
Per i=1 deri M me hap 1 tPiket=Piket[i]
shuma=shuma+T[i][j] tE=E[i]
fund(per) Piket[i]=Piket[j]
Piket[j]=shuma E[i]=E[j]
fund(per) Piket[j]=tPiket
E[j]=tE
Fund(nqs)
fund(per)
Fund(per)
Per i=1 deri N me hap 1
Shkruaj (E[i])
fund(per)
5
Shembulli 2
Për M magazina është rregjistruar sasia e artikujve sipas N llojeve në tabelën A[1…M][1…N].
Magazinat janë rregjistruar në tabelën MAG[1…M] ndërsa artikujt në tabelën AR[1…N]. Bazuar
në këto të dhëna :

a. Cila nga magazinat ka më shumë artikuj?

b. Për cilët artikuj ne mund të themi që gjendet në çdo magazinë ?

c. Për magazinën MAG1 të gjendet sasia që disponohet për çdo artikull të dhënë nga tabela
AR?

6
Cila nga magazinat ka më shumë artikuj?
Fillim Max=temp[1]
Lexo M,N,Mag[1..M],AR[1..N],A[1..M][1..N], Per i=2 deri M me hap 1
Temp[1..M] Nqs Max<temp[i]
Per i=1 deri M me hap 1 Max=temp[i]
Fillim fund(nqs)
shuma=0 Fund(per)
Per j=1 deri N me hap 1
shuma=shuma+T[i][j] Per i=1 deri M me hap 1
fund(per) Nqs temp[i]==Max ath
Shkruaj (Mag[i])
Temp[i]=shuma fund (nqs)
fund(per)
Fund(per)

7
Për cilët artikuj ne mund të themi që
gjendet në çdo magazinë ?
Menyra 1 Menyra 2
Per j=1 deri N me hap 1 Per j=1 deri N me hap 1
Fillim Fillim
counter=0 ugjet=0
i=1
Per i=1 deri M me hap 1
Gjersa (i<=M dhe ugjet==0)bej
Nqs T[i][j]>0 ath Fillim
counter++ ◦ Nqs T[i][j]!=0 ath
fund(nqs) ugjet=1
fund(per) fund(nqs)
Nqs counter==M ath fund(per)
Shkruaj (Ar[j]) Nqs ugjet==0 ath
Fund (nqs) Shkruaj (Ar[j])
fund(nqs)
Fund (per)
Fund (per)

8
Për magazinën MAG1 të gjendet sasia që
disponohet për çdo artikull të dhënë nga tabela AR?
Lexo (Mag1) //emrin e magazines
Per i=1 deri M me hap 1
Fillim
Nqs Mag[i]==Mag1 ath
indexMag=i
fund(nqs)
Fund(per)

Per j=1 deri N me hap 1


Shkruaj (Ar[j],” ka sasine”,A[indexMag][j])
Fund (per)

9
Shembull 3
Në tabelën E[1..M] janë dhënë emrat e M shkollave, kurse në tabelën A[1..N] janë
dhënë emrat e N rretheve nga vijnë nxënësit e tyre. Në tabelën T[1..M,1..N] janë dhënë
sasitë përkatëse të tyre sipas shkollave në këto rrethe.Nëse nga një rreth nuk ka nxënës
shënohet 0.
Duke u bazuar në këto të dhëna :
a) Të gjëndet sasia totale e nxënësve për çdo shkollë.
b) Të gjëndet cili rreth ka sasinë më të madhe të nxënësve .
c) Të gjënden shkollat që nuk kanë nxënës nga të gjithë rrethet
d) Të gjendet rrethi/rrethet që kanë dërguar nxënës në më shumë shkolla

10
Të gjëndet sasia totale e nxënësve për
çdo shkollë.
Lexo, M,N, E[1..M],A[1..N],T[1..M][1..N]
Per i=1 deri M me hap 1
Fillim
shuma=0
Per j=1 deri N me hap 1
shuma =shuma+T[i][j]
fund (per)
Shkruaj (E[i],”ka nr nxenesish”,shuma)
Fund (per)

11
Të gjëndet cili rreth ka dërguar sasinë më
të madhe të nxënësve .
Per j=1 deri N me hap 1 //rrethin me sasine max
Fillim
shuma=0
Per i=1 der M me hap 1 Per index=1 deri N me hap 1
shuma=shuma+T[i][j] Nqs tmp[index]==Max ath
fund (per) Shkruaj (A[index])
tmp[j]=shuma fund (nqs)
fund (per)
Fund (per)
Max=tmp[1]
Per index=2 deri N me hap 1
Nqs Max<tmp[index] ath
Max=tmp[index]
fund (nqs)
Fund (per)

12
Të gjendet rrethi/rrethet që ka dërguar
nxënës në më shumë shkolla
Per j=1 deri N me hap 1 Max=nrShkollave[1]
count=0
Per index=2 deri N me hap 1
Per i=1 deri M me hap 1 Nqs Max<nrShkollave[index]
Nqs T[i][j]!=0 ath Max=nrShkollave[index]
count++
fund (nqs)
fund (nqs)
Fund(per)
fund (per)
nrShkollave[j]=count Per index=1 deri N me hap 1
fund (per) Nqs nrShkollave[index]==Max ath
Shkruaj (A[index])
fund (nqs)
Fund (per)

13
Shembull 4
Jepet M dhe tabela B[1. . . M] me emrat e M bankave. Jepet tabela V[1..12] me emrat 12
muajve të vitit. Jepet tabela dy dimensionale A[1..M][1..12] me xhirot e çdo banke
përçdo muaj të vitit.
a) Të ndërtohet një algoritëm në pseudokod që afishon bankën që 6 mujorin e parë të
vitit e ka xhiron më të lartë se 6 mujorin e dytë.
b) Të afishohen muajt me xhiron më të lartë ( kujdes mund të jetë më shumë se një
muaj)

14
Të ndërtohet një algoritëm në pseudokod që afishon bankën që 6
mujorin e parë të vitit e ka xhiron më të lartë se 6 mujorin e dytë.
Lexo M,B[1..M],A[1..M][1..12]
Per i=1 deri M me hap 1
Fillim
Shuma1=0
Per j=1 deri 6 me hap 1
shuma1=shuma1+T[i][j]
fund (per)
Shuma2=0
Per j=7 deri 12 me hap 1
shuma2=shuma2+T[i][j]
fund (per)
Nqs (shuma1>shuma2) ath
Shkruaj (B[i])
Fund (nqs)
Fund (per)

15
Të afishohen muajt me xhiron më të lartë (
kujdes mund të jetë më shumë se një muaj)
Temp[1..12] Max=temp[1]
Per j=1 deri N me hap 1 Per index=2 deri 12 me hap 1
Nqs Max<temp[index] ath
Fillim Max=temp[index]
shuma=0 fund (nqs)
Per i=1 deri M me hap 1
shuma=shuma+T[i][j] Fund(per)
fund (per)
Per index=1 deri 12 me hap 1
Temp[j]=shuma Nqs Max==temp[index] ath
Fund (per) shkruaj (V[index])
fund (nqs)
Fund (per)

16
Ushtrime
Një kompani ajrore rregjistron numrin e pasagjerëve për N destinacione në 12 muajt e vitit.Jepet
edhe tabela Dest[1..N] që përmban emrat e destinacioneve
Ndërtoni një program që:
(a) Afishon për çdo muaj destinacionin me më pak vizitor.
Per j=1 deri 12 me hap 1
Fillim
min=T[1][j]
Per i=1 deri N me hap 1
Nqs T[i][j]<min ath
min=T[i][j]
fun (nqs)
Fund(per)
Per index=1 deri N me hap 1
Nqs T[index][j]==min ath
Dest[index]
fund(nqs)
Fund(per) 17
(b) Afishon numrin total të vizitorëve për çdo destinacion.
(c) Afishon në qoftë se egziston ndonjë muaj vlera maksimale e udhëtimeve të të cilit
është edhe vlera më e vogël e destinacionit që e përmban atë?

18
Ushtrime
Një klasë ka 200 vende të ndara në 10 rreshta dhe 20 kolona. Çdo studenti i caktohet
një numër nga 1-200. Në një provim studentët ulen nëpër vende sipas numrit të tyre
duke filluar nga rreshti i parë, i dytë e kështu me radhë sic tregohet në tabelën e
mëposhtme: 20 kolona

1 2 3 4 …. 20
21 22 23 24 … 40
10 rreshta 41 …       60
…         …
181 182 183 184 … 200

Të ndërtohet algoritmi që merr si input një numër të plotë në mes të 1 dhe 200 dhe
afishon në cilin rresht dhe kolonë duhet të vendoset studenti.
Për shembull, nëse n = 35, studentët do të shkojë në rreshtin e 2 dhe kolonën 15.

19
Pyetje?

20

You might also like