Basic HTML Version

|  | Table of Contents |  | View Full Version

Page 146 - Demo
P. 146

                                        TEMATIKA 4 PROGRAMIMI DHE ALGORITMIKAShkruani një algoritëm që llogarit elementin e k-të më të madh në një tabelë me n elemente, ku 1 ≤ k ≤ N. Kështu, nëse jepet tabela A si në figurë, për k=3, algoritmi duhet të kthejë vlerën 5, që i korrespondon vlerës së tretë më të madhe në tabelë. Ndërtoni programin për të testuar algoritmin tuaj. Aktivitet:Le t’i kthehemi shembullit tonë, ku kemi tabelën A= [3, 56, 12, 14, 7, 9, 25, 41].Algoritmi do të fillonte duke inicializuar vlerën maxvl=A[0]=3.Në iteracionin e parë të ciklit for, pra i=1, do kishim A[1]=56 > 3, pra maxvl =56.Në iteracionin e dytë të ciklit for, pra i=2, do kishim A[2]=12<56, kushti if nuk plotësohet, dhe maxvl ngelet 56.Në iteracionin e tretë, të katërt, …dhe atë të shtatë, situata është e ngjashme me iteracionin e dytë, pra vlera maxvl nuk do të ndryshonte sepse kushti if nuk do të plotësohej. Si përfundim, në fund të ciklit for, vlera e kthyer është 56. Programi në C për këtë algoritëm jepet në figurën 2. Kërkimi i elementit maksimal në një tabelë dydimensionaleDuke qenë se në pikën B të aktivitetit të dhënat e problemit janë të tilla që për çdo pikë në planin koordinativ kemi dy të dhëna (koordinata sipas boshtit X, dhe ajo sipas boshtit Y), atëherë një nga zgjidhjet është përdormi i tabelave dydimensionale. Në tabelën e mëposhtme paraqisim koordinatat e pikave A, B, C, D, E. Pika A Pika B Pika C Pika D Pika EX 0 2 3 2 4Y 1 3 1 6 65 2 7 2 1 4 9 4 1 11 2 3 4 5 6 7 8 9 10Algoritëm: Distanca maksimale midis pikave në planin koordinativInput: Nr_pikave në plan, koordinata përkatëse të pikave  të vendosura në tabelëdydimensionale: matrica_koordinata.Output: Dmax;matrica_koordinata[Nr_pikave][2] ={vlerat sipas X}{vlerat sipas y} ;Dmax=0; for( i =0; i < Nr_pikave ; i++) {for(int j =i+1 ; j < Nr_pikave ; j++){ d_ij= (matrica_koordinata[i][0] - matrica_koordinata[j][0])2 +  (matrica_koordinata[i][1] - matrica_koordinata[j][1])2  if (d_ij >Dmax) Dmax=d_ij;}}Return Dmax; Fig. 3Algoritmi i dhënë në figurën 3 llogarit se cila është distanca maksimale midis pikave A, B, C, D, E. Përpiquni ta kuptoni duke e zbatuar atë për pikat në kordinatat e dhëna më sipër.144

| 140 141 142 143 144 145 146 147 148 149 150 |