You are on page 1of 19

Funksionet vazhdim

&
Vektorët njëdimensional
Dr. Ardiana Topi
Çështjet kryesore
Funksionet e përcaktuara nga përdoruesi:
• funksionet void pa parametra.
• funksionet void me parametra.
• funksionet e kthimit të të dhënave pa parametra.
• funksionet e kthimit të të dhënave me parametra.
• Vektorët njëdimensional
Përcaktimi dhe
thërritja e një
funksioni
• Përcaktimi i një funksion
konsiston në përcaktimin e
emrit, parametrave, tipit të
kthimit dhe trupit të
funksionit.
• Paramentrat dhe Argumentet:
• Një parametër është një variabël
i deklaruar në kokën e funksionit;
• Një argument është një vlerë që
inicializon parametrin kur thirret
funksioni.

3
Funksionet e percaktuara nga perdoruesi

4
Funksionet void pa
parametra

5
Funksionet void me parametra
#include <iostream> int main() {
using namespace std;   int patternSize;
void pattern (int size) { do {
for (int i = 0; i < size; i++) { cout << "Enter the size of the pattern: ";
for (int j = 0; j < size; j++) { cin >> patternSize;
cout << "*" ; } } while (patternSize <=0);
cout << endl; pattern(patternSize);
} return 0;
return; }

6
Funksionet e kthimit të të dhënave pa parametra

7
Funksionet e kthimit te te dhenave me
parametra
#include <iostream> int main() {
using namespace std;   int first, second;
int larger (int fst, int snd) { cout << "Enter the first number: ";
int max; cin >> first;
if (fst > snd) { cout << "Enter the second number: "; cin >> second
max = fst; cout << "Larger: " << larger (first, second);
} return 0;
else { }
max = snd;
}
return (max);
}

8
Deklarimi(prototype) i funksionit para therritjes

9
Shembull: Gjetja e vitit te brishte

#include <iostream> bool process (int year) {


using namespace std; bool criteria1 = (year % 4 == 0);
// Declarations (prototypes) bool criteria2 = (year % 100 != 0) || (year % 400
int input (); == 0);
bool process (int year);
void output (int year, bool result); return (criteria1) && (criteria2);
int main () { }
int year = input(); void output (int year, bool result) {
bool result = process (year); If (result){
output (year, result); cout<<“year” <<year<<“is a leap year”;
} }
int input () { else{
int year; cout<<“year” <<year<<“is not a leap year”;
 do {   }
cout << "Enter a year after 1582: " ; return;
cin >> year; }
} while (year <= 1582);
return year;  
}
Lidhja midis funkisonit main dhe funksioneve te tjera

11
Kalimet by-value dhe by-parametra

• Në mekanizmin e kalimit by-value,


argumenti dërgon një kopje të
elementit të të dhënave në
parametrin përkatës. Parametri
merr vlerën dhe e ruan atë.
• Në mekanizmin e kalimit by-
parameter, një vend memorie
ndahet midis argumentit dhe
parametrit përkatës. Funksionet
thirrëse dhe të thirrura mund t'i
referohen asaj vendndodhjeje
memorie me të njëjtin emër ose
emra të ndryshëm (preferohen
emra të ndryshëm).

12
13
Vektorët njëdimensional

14
Vektorët njëdimensional

• Një vektor njëdimensional është një


sekuencë e të dhënave të të njëjtit tip, duke
përfshirë kategoritë e tipeve të të dhënave
build-in dhe të dhënat e përcaktuara nga
përdoruesi.
• Vektorët kanë tre attribute: tipin e të
dhënave, kapacitetin dhe madhësinë.

15
Deklarimi i vektoreve

16
Alokimi i kujtesës nga
vektorët

17
Inicializimi dhe aksesimi i vektorëve

• Inicializimi explicid

• Inicializimi imiplicid

• Inicializimi i pjesshëm

18
Aksesimi i elementëve të vektorëve
• Vektorët janë tipe të dhënash zero-based indexed.
• Aksesimi i elementeve te vektoreve behet duke ju referuar indeksit perkates.
• Aksesimi i elementeve jashte kufirit te vlerave te indeksit duhet shmangur. Gjeneron gabim te
fshehur, kthen nje vlere qe gjen ne garbage. Implementimet e C++ nuk japin një paralajmërim
për kohën e përpilimit ose kohën e ekzekutimit kur ndodhin këto gabime.

19

You might also like