1. Skripta për lëndën: Software Development II
Arrays (Vargjet)
Dardan Aliu
Elvaris Gjinali
2. Parathënje
Skriptën të cilën e keni u dedikohet Studenteve të Fakultetit Publik të Prizrenit
deges së Software Design. Po ashtu mund të përdoret edhe nga të tjerët.
Në këtë Scriptë shpejgohen konceptet e Vargjeve(Arrays), deklarimi i tyre,
inicializimi, çasja nëpër elemente, gjatësia e vargut dhe vargjet dydimensionale.
Detyrat e zhvilluar janë të bazuar në gjuhën programuese Java.
Si Programe eshte perdore BlueJ, mipro mund te perdoren edhe tjere
programe si: Eclipsi, NetBeans, JGRPS, drJava etj.
3. Hyrje
Shpesh gjatë programimit na ndodhë që të ruajm një numër të madhë të
vlerave gjatë egzekutimit të një program. Supozoni, për shembull, që ju dëshironi të
lexoni njëqind numra, dhe të gjithë këtyre numrave t’ju gjindet mesatarja, po ashtu
të gjinden të gjithë ata numra që janë më të mëdhenjë se numri i mesatares. Së pari,
programi juaj ka nevojë që të lexojë të dhënat nga kompjuteri juaj, pastaj ti llogaritë
mesataren e atyre numrave, dhe pastaj ti krahasojë çdo numër me mesatarën për të
përcaktuar numrin më të madhë se numri mesatarë. Të gjithë numrat duhen të ruhen
në variabla në mënyrë që detyrën me e përfondu. Ju duhet ti deklaroni njëqind
variabla dhe në mënyrë reciproke, ju shkruani përafërsisht të njetin kodë njëqind
here. Nga pikëpamja praktike, është e pamundur për ta shkruar një program në
këtë mënyrë. Qasja e organizuar është e nevojshme.
Java dhe gjuhët tjera të larta sigurojnë një strukturë të dhënave, array
(Vargjet) i cili ruan një koleksion të caktuar të madhsisë së njetë të elementeve të
llojit të njetë.
4. 1. Deklarimi i vargjeve.
Për të përdorur një varg në një program, fillimisht duhet të deklarojmë një variabël i cili referon
se çfarë tipi do të jete vargu. Pastaj shkruhet emri i vargut dhe caktohet gjatësia e vargut përmes një
variabli tjetër i cili inicializohet me nje vlere ose mund të inicialiyohet direkt pasi që e deklaron tipin e
vargut dhe emrin. Praktikisht deklarimi i një vargu ne gjuhen programuese Java mund të jetë keshtu:
Deklarimi i vargut duke i inicializuar variablat direkte ne varg:
int[] vargu = {3, 5, 6, 7, 10};
Deklarimi i vargut ku është i rezervuar memorja për gjatësinë e vargut:
tipi_i_vargut[] emri_i_vargut = new tipi_i_vargut[gjatësia_e_vargut];
Shembulli 1.0: Të shkruhet kodi ne Java i cili e shtyp në ekran pesë anëtar të vargut të deklaruar.
Zgjidhje: Së pari pas deklarimit të klases dhe main metodës si me lartë e deklarojme vargun e
inicializuar, pasi qe një varg I inicializuar I përmban anëtarët ne vete atëhere duhet të përdorim një
unaze I cili do t’I gjenerojë anëtarët e vargut ne ekran. Si unaze e përdorim unazën for ku tani duhet të
kemi kujdes se anëtari I pare I vargut çdo her fillon me indeks 0, pra nese e kemi pesë anëtare atëher
logjikisht kemi indeksin e fundit numrin katër për arsye se numrimi fillon prej indeksit zero pra
numerohet si 0 1 2 3 4. Kurse kufiri I indeksave Brenda unazes tregohet me nje komand I cili shkruhet
keshtu: emri_i_vargut.length.
5. Shembulli 1.1: Të shkruhet kodi ne Java ku deklarohet një varg kurse mbushja e anëtareve behet përmes
panelit JOptionPane dhe pastaj te shtypet ne ekran anëtarët e mbushur.
Zgjidhje: Së pari e deklarojmë një variable integer n I cili tregon gjatësinë e vargut dhe pastaj e
deklarojmë vargun. Për t’I dhënë vargut anëtarët e përdorim unzën for I cili do të këkroj nga përdoruesi
të jep anëtarët e vargut përmes veglës JOptionPane ku dhe e konvertojmë variable e JOptionPane ne
tipin integer. Në fund përsëri përmes një unaze tjeter e shtypim anëtaret e mbushur në ekran.
6. 2. Çasja dhe manupilimi me anëtarët e vargut
Pasi që deklarohet një varg dhe mbushen anëtarët atëhere ne mund të çasemi tek anëtarët dhe
mund të bëjmë manipulime të ndryshme me ta. Si p.sh mund t’ia gjejme anëtarin me vlerë maksimale
apo minimale, mund ta gjejme mesataren e tyre, mund sortojmë etj. Në vijim do ti marim disa shembuj
ku do të maniplojmë me anëtarë.
Shembulli 2.0: Të shkruhet kodi ne Java ku deklarohet një varg dhe gjendet anëtari maksimal dhe
minimal I vargut.
Zgjidhje: Fillimisht deklarohet vargu, inicializohet apo mbushet me vlera sipas dëshirës. Ne do të
inicializojme anëtarët e vargut dhe pastaj do të zhvillojmë algorimtin e gjetjes se anëtarit maksimal dhe
minimal. Algoritmi I gjetjes së anëtareve maksimal dhe minimal e përdorë këtë logjikë:
Për gjetjen e anëtareve me vlerë maksimale apo minimale se pari duhet të deklarohet nje variable ne
fillim ku inicializohet me anëtarin e pare të vargut, pra supozohet se anëtari I pare ka vlerë maksimale
apo minimale dhe pastaj brenda unazes krahasohet me anëtarët e tjerë deri sa të gjindet anëtari I
kërkuar. Më poshtë mund të shihni ecurinë e kodit për zgjidhjen e problemit:
7. Kurse rezultati pas ekzekutimit të kodit to të duket keshtu:
Shembulli 2.1: Të shkruhet kodi ne Java ku deklarohet një varg dhe gjendet vlera mesatare e anëtarëve
të vargut.
Zgjidhje: Për të gjetur vlerën mesatare të anëtarëve në një varg fillimisht duhet të gjejme shumën e tyre
dhe pastaj të pjestojme me gjatësinë e vargut.
8. Shembulli 2.2: Të shkruhet kodi ne Java ku deklarohet një varg dhe të sortohen anëtarët prej më të voglit
deri te më I madhi.
Zgjidhje: Për të sortuar anëtarët e vargut duhet të përdorim algoritmin e sortimit I cili kontrollon të gjith
anltarët e vargut dhe I sorton sipas kushtit. Algoritmi I sortimit mund të shpjegohet kështu:
Në program është paraparë që anëtarët e vektorit vargu[i] të rradhiten duke unisur prej anëtarit
më të vogël. Prandaj, gjatë procesit të sortimit në unazën e brendshme është vendosur komanda:
if (vargu[i]>temp)
Nëse plotësohet kushti i shkruar brenda kësaj komande, përmes grupit të komandave:
temp=vargu[i];
vargu[i]=vargu[j];
vargu[j]=temp;
kompjuterit i urdhërohet që t'i ndërroi vlerat e anëtarëve vargu[i] dhe temp, duke e shfrytëzuar
variablën ndërmjetësuese temp.
10. 3. Deklarimi i vargjeve dydimensionale dhe
manipulimi me anëtarët e tyre.
Ngjashëm me vargjet njëdimansionale deklarohen edhe vargjet dydimensionale (matricat). Por,
meqë vargjet dydimensionale paraqesin fusha dydimensionale, ato deklarohen si variabla me dy
indekse. Kështu, p.sh., për vargun me 3 rreshta dhe me nga 3 anëtarë në çdo rresht, deklarimi përkatës
bëhet kështu:
Deklarimi i vargut dydimensional duke i inicializuar variablat direkte ne varg:
int[][] vargu = { {3, 5, 6} ,
{7, 10, 4} ,
{2, 1, 0} };
Deklarimi i vargut dydemnsional ku është i rezervuar memorja për gjatësinë e vargut:
tipi_i_vargut[][] emri_i_vargut = new tipi_i_vargut[m][n];
Shembulli 3.0: Të shkruhet kodi ne Java i cili e shtyp në ekran anëtarët vargut dydimensional.
Zgjidhje: Pasi qe e cekëm edhe më lartë deklarimi bëhet për rreshta dhe kolona atëher e shkruajm kodin
si në vijim:
11. Shembulli 3.0: Të shkruhet kodi ne Java i cili e shtyp në ekran anëtarët vargut dydimensional dhe e
llogarit vlerën mesatare të anëtarëve.
Zgjidhja: Kodi në vijim paraqet zgjidhjen e detyrës: