Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM."— Presentation transcript:

1 Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM I Ligjerata 7 fisnikd.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 gjithmone 0, 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, }; 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, }; Mr. Fisnik Dalipi

6 Vektoret dydimensional
#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; Vektoret dy dimensional mund te pershkruhen si vektor vektoresh. Deklarimi i tyre eshte : tip emer[dimension1][dimension2] int M [3][5]; 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 (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: 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
Inicializimi behet njesoj sit e gjithe vektoret: char S[] = { 'H', 'e', 'l', 'l', 'o', '\0' }; Gjithashtu, stringjet e karaktereve kane nje menyre shtese per te inicializuar vlerat e tyre duke perdorur konstante stringjesh. Konstantet e stringjve brenda thonjezave dyshe kane gjithmone karakterin null ('\0') qe ngjitet automatikisht 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>  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; } 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 te konvertuar stringjet ne tipe te tjera perdoren funksione te libraries cstdlib (stdlib.h) Si me poshte: atoi: converton string ne int. atol: converton string ne long . atof: converton string ne float. Te gjithe keta pranojne nje parameter dhe kthejne nje vlere te tipit te caktuar(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?


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

Similar presentations


Ads by Google