Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.

Slides:



Advertisements
Similar presentations
Rruga për ahiret nuk kalohet me këmbë, por me zemër.
Advertisements

Fundamentals of Characters and Strings
Lenda : Kontabiliteti Financiar
Variablat Konstantet Strukturat e kontrollit Ciklet Tabelat (Arrays)
Windows XP(Control Panel)
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
Access 2007 Quiz.
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
SH.M.U-2 Tema:WEB Shfletuesit Nxënësi:Elbaroza Bunjaku Arsimtari:Muhamer.
Fletet e Stiluara ne Kaskade (Cascading Style Sheets - CSS)
Siguria e të dhënave në kompjuter
TIK 12 – Prof. Blerand Koshi
Insertimi i hapësirave dhe kalimi në kryerresht
Algoritmet e Renditjes
Universiteti i Prizrenit
LEKSION 6 SQL. Struktura baze. Query-t. Veprimet me bashkesi.
Funksionet ne PHP PhD, MS, Under Leksion 8.
Pemet e Kerkimit Binar Leksion 9.
Sistemet Operative (Operating System)
SHMU-2 Vushtrri Punim seminarik Lënda : Informatikë Tema : Windows 7 Klasa : IX Punuar nga : Petrit Mavriqi Vushtrri , 2014.
Table 10.1 Capital Expenditure Data for Bennett Company
Elementet e gjuhës C++.
TIK 12 – Prof. Blerand Koshi
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
Vendosja e prapavijes (Background)
SHMU-2 Vushtrri Punim seminarik Lënda: Informatikë Tema: Rjetet informative Klasa IX-2 Punuar nga: Argjent Abdurrahmani Erëza Mejzini.
Të llogaritet shuma e elementeve të vektorit.
Tema:Crossover Cable Nxënësi:Amir Sadiku Arsimtari:Muhamer Ujkani
JavaScript Leksion 8.
Lenda : Kontabiliteti Financiar
SH.M.U-2 Emri dhe mbiemri:Lavdim Veseli Klasa:IX-3 Shkolla:SHMU2
Elementet e gjuhës C++.
David M. Kroenke Database Processing:
Universiteti AAB Programi: PSIKOLOGJI STATISTIKE T-testi Për grupet e pavarura Për grupet e varura Dr.sc. Merita Shala.
Internet Ligjerata 10 Dr. Fisnik Dalipi.
5. Unazat.
Algoritmet e Sortimit.
6. Unaza While dhe Do While
F U N K S I O N E T.
SH-M-U-2 Kl.9/4 Valon Ibishi Lënda:Informatikë Tema:Programi Excel Arsimtar:Muhamer Ujkani Vushtrri,2014.
Punim Seminarik VENDIM-MARRJE
Universiteti i Prizrenit
Punuar nga: Rilind Ademi
Variablat dhe Funksionet
I Love my family!!!.
SISTEMI I DETEKTORËVE TË TRAFIKUT
Punim Seminarik Tema : VIRUSET Kompjuterik Lenda: Informatike SHMU 2
Perpunimi i stringjeve
Ms Word 2003.
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
SH.M.U 2 Vushtrri Sistemet operative te Winows XP Muhamer Ujkani
LEKSION 4 Diagrama E-R. Karakteristika te modelit të zgjeruar E-R.
Format ne HTML/XHTML Leksion Jan-19.
Targetimi i elementeve specifike
E Drejta e Procedures Penale
Degëzimet.
Ligjerata 3 Dr. Fisnik Dalipi
Puna me fajlla ne C++ Dr. Fisnik Dalipi.
Internet Ligjerata 8 Dr. Fisnik Dalipi.
CPS120: Introduction to Computer Science
TIK 12 – Prof. Blerand Koshi
Variablat dhe konstantet
Degëzimet.
Unazat FOR.
Strings #include <stdio.h>
Ms Word 2003.
Operatorët.
Shqipëria Trajnimi për Statistikat
Shkolla e mesme e ulët “Gjon Serreçi” Ferizaj
Presentation transcript:

Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM I Vektorët dhe Matricat

Vektorët dhe Matricat Fushat – bashkësi e variablave të tipit të njëjtë të të dhënave Vektorë – fusha një-dimensionale Matrica – fusha dy-dimensionale Fusha shumëdimensionale

Vektorët Vektorët, siç e dimë janë një bashkësi elementesh (variablash) të tipit të njejtë, të ruajtur në mënyrë të njëpasnjëshme në memorje dhe çdo element identifikohet nga nje indeks. Kjo do të thotë që , nëse ruajmë 5 vlera te tipit integer në vektor, ne shmangim deklarimin individual të tyre me nga një identifikues per secilin. Indeksi i parë i vektorit është gjithmonë 0, pavarësisht nga gjatësia e vektorit .

Vektoret (vazhd.) Deklarimi i vektorit është: tipi emri [elementet]; Për shembull: int V [5]; Shënim: Fusha, elementet brenda kllapave [] kur deklaron një variabël duhet të jetë vlerë konstante, përderisa vektorët janë blloqe të memorjes statike me një madhësi të caktuar dhe kompajlleri duhet te jete ne gjendje të dije se sa memorje duhet ti kaloj këtij vektori.

Inicializimi i vektoreve Kur deklarojmë një vektor lokal, nëse nuk e specifikojmë, nuk do te inicializohet, dhe vlerat e tij do te jenë të papërcaktuara deri ne momentin që ruajmë vlera në te. Nëse deklarojmë një variable globale, përmbajtja e tij do të inicializohet me vlerën 0. keshtu, nëse deklarojmë vektorin jashtë cdo funksioni(global):int V [5]; Cdo element i V do te inicializohet me 0:

Inicializimi i vektoreve Por gjithsesi, kur edeklarojmë nje vektor, kemi mundësine të inicializojmë secilin prej tyre brenda kllapave{ }. Per shembull: int V [5] = { 16, 2, 77, 40, 12071 }; Numri i elementeve të inicializohet duhet te jetë i njëjte me gjatësine e elementeve të vektorit. Me anë te inicializimit mund të deklarojmë një vektor, pa percaktuar nje numër elementesh brenda kllapave katrore: int v [] = { 16, 2, 77, 40, 12071 };

Deklarimi dhe inicializimi i vektorëve - shembull tipi Vektor[N] = {vlera0, vlera1, vlera2, … ,vlera(N-1)}; int a[5] = {1, 2, 3, 4, 5}; double b[3] = {2.3, 2.8, 4.5}; float c[4] = {2.56, 3.21, 8.55, 4.56} tipi Vektor[] = {vlera0, vlera1, vlera2, … ,vlera(N-1)}; int a[] = {1, 2, 3, 4, 5}; Deklarimi dhe inicializimi parcial i vektorëve int a[5] = {1, 2, 3}; double b[3] = {2.3, 2.8}; float c[4] = {2.56} int a[5] = {1, 2, 3, 0, 0}; double b[3] = {2.3, 2.8, 0}; float c[4] = {2.56, 0, 0, 0}

Matricat #include<iostream.h>  #define WIDTH 5 #define HEIGHT 3  int V [HEIGHT][WIDTH]; int n,m;  int main () { for (n=0;n<HEIGHT;n++) for (m=0;m<WIDTH;m++) V[n][m]=(n+1)*(m+1); } return 0; Matricat mund te pershkruhen si vektor vektoresh ose fusha dydimensionale. Deklarimi i tyre është : tip emer[dimension1][dimension2] int M [3][5];

Matricat Deklarimi i matricave (fusha dy-dimensionale) tipi Matrica[m][n] m – numri i rreshtave të matricës n – numri i kolonave të matricës int a[5][4]; Variabla e matricës (a) – përmban referencë në elementin e parë të matricës Elemente të matricës Elementi i parë: a[0][0], Elementi i dytë: a[0][1], … Elementi i fundit: a[m-1][n-1], Kolona (n=4) a a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[3][0] a[3][1] a[3][2] a[3][3] a[4][0] a[4][1] a[4][2] a[4][3] Rreshta (m=5)

Deklarimi dhe inicializimi i matricave tipi Matrica[m][n] = { {vlera, vlera, … ,vlera}, {vlera, vlera, … ,vlera}, … {vlera, vlera, … ,vlera} }; int a[3][4] = {{0,1,2,3},{1,2,3,4},{2,3,4,5}}; const m=5; int i,j,R[m][m]={{5,8,-2,6,1}, {3,-7,4,2,9}, {8,1,4,7,-2}, {-3,4,7,6,5}, {4,2,1,-3,5}}; int a[3][4] = { {0 1 2 3}, {1 2 3 4}, {2 3 4 5} };

Vektoret si parametra Në ndonjë situate, duhet të kalojmë një vektor si parametër për funksionin. Ne C++ nuk është e mundur të kalosh me vlerë në bllok të tërë memorje si parametër për funksionin, por lejohet te kalohet vetëm me adresë. Per shembull nese kemi funksionin: void procedure (int arg[]) Nëse duam ti kalojmë një vektor këtij funksioni: int s [40]; Do te ishte e mjaftueshme te shkruanim nje thirrje te tille: procedure (s);

Vektoret si parametra #include <iostream.h> void printarray (int arg[], int length) { for (int n=0; n<length; n++) cout << arg[n] << " "; cout << "\n"; } int main () { int firstarray[]={5, 10, 15}; int secondarray[]={2, 4, 6, 8, 10}; printarray (firstarray,3); printarray (secondarray,5); return 0; } Rezultati: 5 10 15 2 4 6 8 10 Si parameter per nje funksion mund te kalohet edhe nje matrice.

Stringjet e karaktereve Stringjet prezantojnë një radhë karakteresh, si fjalet, fjalite. Në C++ nuk ka një tip elemetar për ruajtur tipe stringjesh. Por mund të perdoren shume mir vektor të tipit char. Per shembull: char S [20]; - ruan një string deri ne 20 karakter të gjatë:

Stringjet e karaktereve Ky maksimum prej 20 karakteresh nuk eshte e domosdoshme te plotesohet gjithmonë. Vektoret e karaktereve mund te ruajnë stringje më të shkurtër se totali i gjatësisë së vektorit, vendoset një karakter ne fund te stringut(null character) qe shkruhet 0 ose '\0'.

Inicializimi i stringjeve Inicializimi bëhet njejt si te gjithë vektorët: char S[] = { 'H', 'e', 'l', 'l', 'o', '\0' }; Stringjet e karaktereve kanë një menyrë shtesë për të inicializuar vlerat e tyre - duke perdorur konstante stringjesh. Konstantet e stringjve brenda thonjezave dyshe kanë gjithmone karakterin null ('\0') që ngjitet automatikisht në fund. Per shembull char S [] = "Hello";

Inicializimi i strinjgeve Në te dy rastet stringu S është deklaruar me 6 karaktere (elemente te tipit char): 5 karaktere të fjalës Hello dhe karakteri ('\0'). Instruksionet: S = "Hello"; S[] = "Hello"; S= { 'H', 'e', 'l', 'l', 'o', '\0' }; Nuk janë të vlefshme për vektoret sepse - Mund të japim vlera të konstanteve në një vektor, vetëm në momentin e inicializimit. Momenti i inicializimit të vektorit është një rast i vecantë, dhe nuk është vlerëdhënje megjithse paraqitet me shenjën (=).

Vleredhenia e stringjeve Një mënyrë për ti dhënë vlerë një stringu është: s[0] = 'H'; s[1] = 'e'; s[2] = 'l'; s[3] = 'l'; s[4] = 'o'; s[5] = '\0'; Por sic shihet, kjo nuk është mënyrë praktike për tu përdorur.

Vlerëdhënia e stringjeve Zakonisht për ti dhëëe vlera një vektori dhe në mënyrë të vecantë një stringu përdoren funksioni strcpy. (string copy) percaktohet te libraria cstring (string.h dhe thiret ne kete menyre): strcpy (string1, string2); Ky funksion kopjon përmbajtjen e stringut2 te string1. string2 mund të jeteë ose një vektor, një shenjues, apo një constant string. Për shembull strcpy (mystring, "Hello"); //kopjon “Hello” te stringu mystring  

Vlerëdhënia e stringjeve // dhenja e vleres ne string #include <iostream.h> #include <string.h>  int main () { char EmriIm [20]; strcpy (EmriIm,"J. Bajrami"); cout << EmriIm; return 0; } Rezultati: J.Bajrami

Vlerëdhënia e stringjeve Një metodë tjetër për ti dhënë vlerë një vektori është duke përdorur (cin)- vlera e stringut jepet gjatë ekzekutimit nga perdoruesi . Kur cin perdoret me stringje karakteresh shoqerohet nga funksioni getline, që thirret sipas kësaj sintakse: cin.getline ( char buffer[], int length, char delimiter = ' \n'); - buffer - adresa ku do ruhet input (vektor), -length - gjatesia maksimale e buffer dhe - delimiter - karakteri që përdoret për të treguar fundin e input-it nga përdoruesi, by default eshte ('\n').

Vlerëdhënia e stringjeve #include <iostream.h>  int main (){ char mybuffer [100]; cout << "Si quhesh? "; cin.getline (mybuffer,100); cout << "Miredita " << mybuffer << ".\n"; cout << "Kush eshte skuadra jote e preferuar? "; cout << "Pelqej " << mybuffer << " gjithashtu.\n"; return 0; }

Vlerëdhënia e stringjeve cin>> - mund te perdoret gjithashtu per te mare te dhenat nga inputi standart. Kjo gjithashtu mund te perdoret ne vend te cin.getline me stringjet e karaktereve. cin >> mybuffer; Kjo punon, po ka limite krahasuar me cin.getline : Lexon vetem një fjalë (jo gjithe fjalinë) për aq kohë sa kjo mënyrë përdor për delimiter një hapsirë, tab, new_line. Nuk specifikon gjatësinë e buffer. Kjo e ben programin jo të rregullt kur perdoruesi fut të dhëna më shumë se sa vektori mund të mbaj. Rekomandohet të përdoret cin.getline sesa cin>> për input stringjesh.

Konvertimi i stringjeve ne tipe tjera Për të konvertuar stringjet në tipe të tjera përdoren funksione te libraries cstdlib (stdlib.h): atoi: converton string ne int. atol: converton string ne long . atof: converton string ne float. Të gjithë këta pranojne një parameter dhe kthejnë një vlerë të tipit të caktuar(int, long apo float). Shembull:

Konvertimi i stringjeve ne tipe tjera #include<iostream.h> #include <stdlib.h>  int main () { char mybuffer [100]; float cmimi; int sasia; cout << “Jepe cmimin: "; cin.getline (mybuffer,100); cmimi = atof (mybuffer); cout << “Jepe sasine: "; cin.getline (mybuffer,100); sasia = atoi (mybuffer); cout << “Cmimi total: " << cmimi*sasia; return 0; } Outputi eshte: Jepe cmimin: 2.75 Jepe sasine: 21 Cmimi total: 57.75

PYETJE?