Universiteti
Download
1 / 21

Vektoret - PowerPoint PPT Presentation


  • 328 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Vektoret' - arch


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

UniversitetiShtetëror i TetovësFakulteti i Shkencave Matematike-NatyroreDepartamenti i InformatikësPROGRAMIM ILigjerata [email protected]


Vektoret
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


Vektoret vazhd
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


Inicializimi i vektoreve
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


Inicializimi i vektoreve1
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


Vektoret dydimensional
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


Vektoret si parametra
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


Vektoret si parametra1
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


Stringjet e karaktereve
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


Stringjet e karaktereve1
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


Inicializimi i stringjeve
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


Inicializimi i strinjgeve
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


Vleredhenia e stringjeve
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


Vleredhenia e stringjeve1
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


Vleredhenia e stringjeve2
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


Vleredhenia e stringjeve3
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


Vleredhenia e stringjeve4
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


Vleredhenia e stringjeve5
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


Konvertimi i stringjeve ne tipe tjera
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


Konvertimi i stringjeve ne tipe tjera1
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



ad