1 / 21

Vektoret

Universiteti Shtet ëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM I Ligjerata 7 fisnik.dalipi @ unite.edu.mk fisnikd.wordpress.com. Vektoret.

arch
Download Presentation

Vektoret

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UniversitetiShtetëror i TetovësFakulteti i Shkencave Matematike-NatyroreDepartamenti i InformatikësPROGRAMIM ILigjerata 7fisnik.dalipi@unite.edu.mkfisnikd.wordpress.com

  2. Vektoret • Vektoret, sic e dime jane nje bashkesi elementesh (variablash) te te njejtit tip, te ruajtur ne menyre te njepasnjeshem ne memorje dhe cdo element identifikohet nga nje indeks. • Kjo do te thote qe , nese ruajme 5 vlera te tipit integer ne vektor, ne shmangim deklarimin individual te tyre me nga nje identifikues per secilin. • Indeksi i pare i vektorit eshte gjithmone0, pavaresisht nga gjatesia e vektorit . Mr. Fisnik Dalipi

  3. Vektoret (vazhd.) • Deklarimi i vektorit eshte: tipi emri [elementet]; • Per shembull: int V [5]; • Shenim: Fusha elementet brenda kllapave [] kur deklaron nje variable duhet te jete vlere konstante, perderisa vektoret jane blloqe te memorjes statike me nje madhesi te caktuar dhe kompilatori duhet te jete ne gjendje te dije se sa memorje duhet ti kaloj ketij vektori. Mr. Fisnik Dalipi

  4. Inicializimi i vektoreve • Kur deklarojme nje vektor lokal, nese nuk e specifikojme, nuk do te inicializohet, dhe vlerat e tij do te jene te papercaktuara deri ne momentin qe ruajme vlera ne te. • Nese deklarojme nje variable global, permbajtja e tij do te inicializohet me vleren 0. keshtu, nese deklarojme vektorin jashte cdo funksioni(global):int V [5]; • Cdo element i V do te inicializohet me 0: Mr. Fisnik Dalipi

  5. Inicializimi i vektoreve • Por gjithsesi, kur edeklarojme je vektor, kemi mundesine te inicializojme secilin prej tyre brenda kllapave{ }. Per shembull: • int V [5] = { 16, 2, 77, 40, 12071 }; • Numri i elementeve te inicializohet duhet te jete i njejte me gjatesine e elementeve te vektorit. • Me ane te inicializimit mund te deklarojme nje vektor, pa percaktuar nje numer elementesh brenda kllapave katrore: • int v [] = { 16, 2, 77, 40, 12071 }; Mr. Fisnik Dalipi

  6. Vektoret dydimensional • Vektoret dy dimensional mund te pershkruhen si vektor vektoresh. • Deklarimi i tyre eshte : • tip emer[dimension1][dimension2] • int M [3][5]; • #include<iostream.h>  • #define WIDTH 5 • #define HEIGHT 3  • intV [HEIGHT][WIDTH]; • intn,m;  • intmain () • { • for (n=0;n<HEIGHT;n++) • for (m=0;m<WIDTH;m++) • { • V[n][m]=(n+1)*(m+1); • } • return 0; • } Mr. Fisnik Dalipi

  7. Vektoret si parametra • Ne ndonje situate, duhet te kalojme nje vektor si parameter per funksionin. Ne C++ nuk eshte e mundur te kalosh me vlere nje bllok te tere memorje si parameter per funksionin, por lejohet te kalohet vetem me adrese. Per shembull nese kemi funksionin: • void procedure (int arg[]) • Nese duam ti kalojme nje vektor ketij funksioni: int s [40]; • Do te ishte e mjaftueshme te shkruanim nje thirrje te tille: • procedure (s); Mr. Fisnik Dalipi

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

  9. Stringjet e karaktereve • Stringjet prezantojne nje radhe karakteresh, si fjalet, fjalite. • In C++ nuk ka nje tip elemetar per ruajtur tipe stringjesh. Por mund te perdoren shume mire vektor te tipit char. Per shembull: • char S [20]; • ruan nje string deri ne 20 karakter te gjate: Mr. Fisnik Dalipi

  10. Stringjet e karaktereve • Ky maksimum prej 20 karakteresh nuk eshte e domosdoshme te plotesohet gjithmone. Keshtu qe, perderisa vektoret e karaktereve mund te ruajne stringje me te shkurter se totali i gjatesise se vektorit, vendoset nje karakter ne fund te stringut(null character) qe shkruhet 0 ose '\0'. Mr. Fisnik Dalipi

  11. Inicializimi i stringjeve • Inicializimibehetnjesoj sit e gjithevektoret: • char S[] = { 'H', 'e', 'l', 'l', 'o', '\0' }; • Gjithashtu, stringjet e karakterevekanenjemenyreshtese per teinicializuarvlerat e tyre duke perdorurkonstantestringjesh. • Konstantet e stringjvebrendathonjezavedyshekanegjithmonekarakterin null ('\0') qengjitetautomatikisht ne fund. Per shembull • char S [] = "Hello"; Mr. Fisnik Dalipi

  12. Inicializimi i strinjgeve • Ne te dy rastet stringu S eshte deklaruar me 6 karaktere (elemente te tipit char): 5 karaktere te fjales Hello dhe karakteri ('\0'). • Instruksionet: • S = "Hello";S[] = "Hello"; • S= { 'H', 'e', 'l', 'l', 'o', '\0' }; • Nuk jane te vlefshme per vektoret sepse • Mund te japim vlera te konstanteve ne nje vektor, vetem ne momentin e inicializimit. Momenti i inicializimit te vektorit eshte nje rast i vecante, dhe nuk eshte vlerdhenje megjithse paraqitet me shenjen (=). Mr. Fisnik Dalipi

  13. Vleredhenia e stringjeve • Nje menyre per ti dhene vlere nje stringu eshte: • s[0] = 'H';s[1] = 'e';s[2] = 'l';s[3] = 'l';s[4] = 'o';s[5] = '\0'; • Por sic shihet, kjo nuk eshte menyre praktike per tu perdorur. Mr. Fisnik Dalipi

  14. Vleredhenia e stringjeve • Zakonisht per ti dhene vlera nje vektori dhe ne menyre te vecante nje stringu perdoren funksione strcpy. strcpy (string copy) percaktohet te libraria cstring (string.hdhe thiret ne kete menyre: • strcpy (string1, string2); • Ky funksion kopjon permbajtjen e stringut2 te string1. string2 mund te jete ose nje vektor, nje shenjues, apo nje constant string. Per shembull • strcpy (mystring, "Hello"); //kopjon “Hello” te stringu mystring Mr. Fisnik Dalipi

  15. Vleredhenia 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 Mr. Fisnik Dalipi

  16. Vleredhenia e stringjeve • Nje metode tjeter per ti dhene vlere nje vektori eshte duke perdorur (cin). Ne kete rast vlera e stringut jepet gjate ekzekutimit nga perdoruesi . • Kur cin perdoret me stringje karakteresh shoqerohet nga funksioni getline, qe thirret sipas kesaj sintakse: • cin.getline ( char buffer[], int length, char delimiter = ' \n'); • Ku buffer eshte adresa ku do ruhet input (vektor), length eshte gjatesia maksimale e buffer dhe delimiter eshte karakteri qe perdoret per te treguar fundin e input-it nga perdoruesi, qe by default eshte ('\n'). Mr. Fisnik Dalipi

  17. Vleredhenia e stringjeve #include <iostream.h>  • intmain (){ • char mybuffer [100]; • cout<< "Si quhesh? "; • cin.getline(mybuffer,100); • cout<< "Miredita " << mybuffer << ".\n"; • cout<< "Kush eshteskuadrajote e preferuar? "; • cin.getline(mybuffer,100); • cout<< "Pelqej " << mybuffer << " gjithashtu.\n"; • return 0; • } Mr. Fisnik Dalipi

  18. Vleredhenia 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 nje fjale (jo gjithe fjaline) per aq kohe sa kjo menyre perdor per delimiter nje hapsire, tab, new_line. • Nuk specifikon gjatesine e buffer. Kjo e ben programin jot e rregullt kur perdoruesi fut te dhena me shume se sa vektori mund te mbaj. • Prandaj eshte me e rekomandueshme te perdoresh cin.getline sesa cin>> per input stringjesh. Mr. Fisnik Dalipi

  19. Konvertimi i stringjeve ne tipe tjera • Per tekonvertuarstringjet ne tipetetjeraperdorenfunksionete libraries cstdlib (stdlib.h) Si me poshte: • atoi:converton string ne int. • atol:converton string ne long . • atof:converton string ne float. • Tegjitheketapranojnenje parameter dhekthejnenjevleretetipittecaktuar(int, long apo float). Shembull: Mr. Fisnik Dalipi

  20. 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 Mr. Fisnik Dalipi

  21. PYETJE?

More Related