You are on page 1of 101

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/249644165

Përmbledhje detyrash në C++

Book · December 2012

CITATION READS

1 7,369

1 author:

Vehbi Neziri
University of Prishtina
28 PUBLICATIONS   18 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Fjalori terminologjik View project

e-Voting View project

All content following this page was uploaded by Vehbi Neziri on 03 June 2014.

The user has requested enhancement of the downloaded file.


UNIVERSITETI I PRISHTINËS
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike

MSc. Vehbi Neziri

(version 1.0)

Prishtinë, 2012
Gjuhë programuese: Përmbledhje detyrash në C++ 2

Falenderim

Do të doja që të falënderoj për mbështetjen me ide dhe propozime për


detyra të ndryshme kolegun tim MSc. Ramadan Dervishi.

Po ashtu dua të shpreh mirënjohjen edhe për studentët e Fakultetit të


Inxhinierisë Elektrike dhe Kompjuterike të Universitetit të Prishtinës
të cilët kanë ndjekur ushtrimet në Gjuhë Programuese gjatë semestrit
dimëror (2012/2013). Me një pjesë prej tyre pata fatin të mbajmë
ushtrimet bashkarisht, prandaj i falënderoj për sugjerimet dhe
reagimet pozitive që kanë bërë si në takime të përbashkëta ashtu edhe
përmes emailit.

Vehbi Neziri
Prishtinë, Dhjetor 2012.

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 3

Përmbajtja

Krijimi i një projekti të zbrazur në Visual C++ ...................... 4


Shtimi i një skedari të ri .cpp në projekt ......................... 7
Hapat e pare në C++ .................................................. 9
Deklarimi i variablave, komandat për shtypje dhe lexim ............. 9
Deklarimi i konstanteve dhe përdorimi i tyre ...................... 11
Përdorimi i karaktereve speciale .................................. 12
Formatimi i rezultateve të shtypura ............................... 13
Konvertime të ndryshme ............................................ 15
Degëzimet dhe veprimet me operatorë ................................. 17
Degëzimi if dhe if-else ........................................... 17
Degëzimi Switch ................................................... 23
Krijimi i unazave përmes etiketave (labelave) ..................... 26
Operatori i kushtëzuar ? ............................................ 27
Unazat dhe veprimet me unaza ........................................ 28
Unaza while ....................................................... 28
Unaza do- while ................................................... 29
Unaza for ......................................................... 32
Urdhri break ...................................................... 39
Urdhri continue ................................................... 40
Shembuj me unaza (while, do-while, for) ........................... 41
Vektorët ............................................................ 48
Matricat ............................................................ 60
Funksionet .......................................................... 72
Shembuj vetë-testues ................................................ 90

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 4

Krijimi i një projekti të zbrazur në Visual C++


Për ta hapur një projekt të ri në Visual Studio C++, duhet ta keni të
instaluar ndonjërin nga verisonet e Visual Studios.

Shembulli i mëposhtëm tregon se si krijohet një projekt i ri në Visual Studio


2012 (është e ngjashme edhe në versionet e tjera)

1. Klikoni në ikonën e Visual Studios (menyja Start ose desktop)

2. Pasi të keni klikuar ikonën e Visual Studios do të hapet Visual Studio si


në pamjen e mëposhtme.

3. Në këndin e lartë majtas klikoni në menynë File/New/Project ose përmes


shkurtesave Ctrl+Shift+N dhe do të shfaqet një dritare dialoguese.

4. Në kutinë dialoguese duhet të zgjidhni Win32 Console Application për të


krijuar një aplikacion të bazuar në konzolë.

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 5

5. Pasi të keni zgjedhur Win32 Console Application, duhet të emërtoni


projektin me një emër (tek fusha Name) dhe më pas klikoni butonin OK.

6. Visual Studio do të krijojë projektin në shtegun i cili është zgjedhur në


fushën Location. Do të shfaqet një dritare e cila ju dëshiron
mirëseardhje. Klikoni butonin Next> për të vazhduar.

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 6

7. Pasi keni klikuar Next do të shfaqet dritarja e mëposhtme. Në menyrë që të


krijoni një projekt të zbrazur duhet të zgjidhni "Empty Project", në të
kundërtën Visual Studio do të shtojë skedarë (file) të panevojshëm për ju.

8. Klikoni butonin Finish për të përfunduar me krijimin e projektit. Tani


ambienti punues do të duket si në dritaren e mëposhtme.

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 7

Shtimi i një skedari të ri .cpp në projekt

1. Klikoni me tastin e djathtë mbi Source Files dhe zgjidhni Add / New Item.

2. Programi do të ju pyes se çfarë skedari dëshironi të shtoni. Zgjidhni që


dëshironi të shtoni C++ File (.cpp) dhe më pas klikoni butonin Add.

3. Tashmë siç shihet në dritaren e mëposhtme, kutitë dialoguese janë hequr


dhe ju jeni të lirë për të filluar programin e parë në C++.

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 8

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 9

Hapat e pare në C++


Deklarimi i variablave, komandat për shtypje dhe lexim

1. Të shkruhet programi i cili shtyp në ekran mesazhin "Programi i pare ne


C++" duke e përdorur komandën cout.

#include<iostream >
using namespace std;

int main()
{
cout<<"Programi i pare ne C++"; //Shtypja në ekran
return 0; //kthen rezultatin e funksionit
}

2. Të shkruhet programi i cili shtyp në ekran mesazhin "Mirë se vjen" dhe më


pas të kalohet në rresht të ri.

#include<iostream >
using namespace std;

int main()
{
cout<<"Mirë se vjen";
cout<<endl; // endl= krijo një rresht të ri
return 0;
}

3. Të shkruhet programi i cili shtyp në ekran mesazhin e mëposhtëm:


"Tung!"
"Po mesoj C++!"

#include <iostream>
using namespace std;

int main()
{
cout << "Tung!\n"; // \n = rresht i ri
cout << "Po mesoj C++!\n";
return 0;
}

4. Të shkruhet programi i cili llogarit shprehjet 5/2 + 5.5 dhe 12.6/2 + 4.


Analizoni përparësitë e operatërëve.

#include <iostream>
using namespace std;
int main()
{
cout << "5/ 2 + 5.5 = "
<< 5 / 2 + 5.5 << endl; //5/2=2 sepse 5 dhe 2 janë numra int

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 10

cout << "12.6 / 2 + 4 = "


<< 12.6 / 2 + 4 << endl; // 12.6/2=6.3

return 0;
}

5. Të shkruhet programi i cili shtyp pamjen si më poshtë:

#include <iostream>
using namespace std;

int main()
{
cout << "\n\n";
cout << " ^ ^ \n";
cout << " * \n";
cout << " \\___/ \n\n";

return 0;
}

6. Të shkruhet programi në të cilin deklarohet variabla me emrin var e tipit


integer dhe me pas të inicohet në vlerën 10. Vlera e variablës të shtypet
në ekran.

#include<iostream >
using namespace std;

int main()
{
int var; //deklarimi i variables
var=10; //inicimi i variables në vlerën 10
cout<< var; //shtypja e vlerës së variables
return 0;
}

7. Të shkruhet programi në të cilin deklarohet variabla me emrin var e tipit


integer. Variabla të inicohet duke lexuar vlerën e dhënë permes
tastiesrës.

#include<iostream >
using namespace std;

int main()
{
int var; //deklarimi i variables
cin>>var; //inicimi i variables përmes tastierës
cout<< var; //shtypja e vlerës së variables
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 11

8. Të shkruhet programi për llogaritjen e mesatares së 4 numrave të dhënë


përmes tastierës.

#include <iostream>
using namespace std;

int main()
{
int a, b, c, d;
cout<< "Të lut‰m, shkruaj 4 numra. " ;
cin>>a;
cin>>b;
cin>>c;
cin>>d;

double f = (a + b + c + d)/4; //deklarimi dhe inicimi

cout<< "Mesatarja e numrave "


<<a
<< ", "
<< b
<< ", "
<< c
<< " dhe "
<< d
<< " ‰sht‰ "
<< f
<<"\n";
return 0;
}

Deklarimi i konstanteve dhe përdorimi i tyre

9. Të shkruhet programi për llogaritjen e perimetrit të rrethit, nëse dihet


rrezja r. π të deklarohet si konstante.

#include<iostream >
using namespace std;

int main()
{
float r,p;
const float pi=3.14159; //deklarimi i konstantes dhe inicimi me vlerë
cout<< "Vlera e rrezes r = ";
cin >> r;

p = 2*pi*r;
cout<< "\nPerimetri i rrethit: p = "
<< p << endl;
return 0;
}

10. Të shkruhet programi për llogaritjen e sipërfaqes së sferës, nëse dihet


rrezja r. Të përdoret funksioni pow.

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 12

#include<iostream >
using namespace std;

int main()
{
float r, s;
const float pi=3.14159;
cout<< "Vlera e rrezes r = ";
cin >> r;

s = 4*pi*pow(r,2); //pow(r,2) e ngrit ne katror rrezen r


cout<< "\nSiperfaqja: s = "
<< s << endl;
return 0;
}

11. Të shkruhet programi për llogaritjen e sipërfaqes së elipsës, nëse


dihen rrezet r1 dhe r2.

#include<iostream >
using namespace std;

int main()
{
float r1,r2, s;
const float pi=3.14159265;
cout<< "Rrezja r1 = ";
cin >> r1;
cout<< "Rrezja r2 = ";
cin >> r2;

s = pi*r1*r2;
cout<< "\nSiperfaqja: s = "
<< s << endl;
return 0;
}

Përdorimi i karaktereve speciale

12. Të shkruhet programi i cili shtyp në ekran tekstin si në pamjen e


mëposhtme.

#include<iostream>
using namespace std;

int main()
{
cout<< "Prishtina ‰sht‰ kryeqyteti i Kosov‰s.";
cout<< "\n";
cout<< "\t";
cout<< "Pavar‰sia e Kosov‰s u shpall me 17.02.2008.\n";

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 13

cout<< "Le t‰ punojm‰ p‰r nj‰ t‰ ardhme m‰ t‰ mir‰.\n";

cout<<"\n\n";

system("Pause");
return 0;
}

13. Të shkruhet programi i cili shtyp një tekst me disa rreshta dhe brenda
tekstit të përdoren disa nga sekuencat vijuese \a, \t, \n, \v, \f, \r, \”,
\’, \\, ‰, \x89, ‡, \87.

#include<iostream>
using namespace std;

int main()
{
cout<< "\t\t\tP‰r ju do t‰ rri t‰ tretem,";
cout<< "\n";
cout<< "\t\t";
cout<< "Asnj‰ ‡ik‰ t‰ mos mbetem,";
cout<< "\a";
cout<< "\n\t";
cout<< "T‰ digjem e t‰ qanj me lot";
cout<< "\n";
cout<< "Se d‰shir‰n s'e duronj dot";
cout<<"\n\n";

return 0;
}

Formatimi i rezultateve të shtypura

14. Të shkruhet programi për shtypjen me precizitet të caktuar të numrit


f=3.14159264 dhe e=2.71828182845 duke përdorur cout.precision dhe
setprecision.

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
double f =3.14159265;
cout << setprecision (5) << f << endl;
cout << setprecision (9) << f << endl;
cout << fixed;
cout << setprecision (5) << f << endl;
cout << setprecision (9) << f << endl;

double e =2.71828182845;
cout.precision(5);
cout << e << endl;
cout.precision(9);
cout << e << endl;
cout<<fixed;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 14

cout << e << endl;

return 0;
}

15. Të shkruhet programi për shtypjen e numrit 2012 dhe 2013. Për shtypjen
e numrit 2012 të shfrytëzohen 10 pozita duke përdorur setw, kurse për
shtypjen e numrit 2013 të përdoren 12 pozita duke përdorur cout.width.

// numri e vendeve që shfrytezohen.


#include <iostream>
#include <iomanip>
using namespace std;

int main ()
{
cout << setw (10);
cout << 2012 << endl;

cout.width(12);
cout <<2013<< endl;

return 0;
}

16. Të shkruhet programi për printimin e vitit 2012. Hapësira e zbrazur të


mbushet me x duke përdorur setfill.

#include <iostream>
#include <iomanip>
using namespace std;

int main ()
{
cout << setfill ('x') << setw (10);
cout << 2012 << endl;

return 0;
}

17. Të shkruhet programi për shtypjen disa numrave në dy shtylla.

#include <iomanip>
#include <iostream>
using namespace std;

int main()
{
cout << 1990 << setw(8) << 135 << endl
<< 1991 << setw(8) << 7290 << endl
<< 1992 << setw(8) << 11300 << endl
<< 1993 << setw(8) << 16200 << endl;
system("pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 15

Konvertime të ndryshme

18. Të shkruhet programi i cili numrin e sekondave të lexuar përmes


tastierës e kthen në formatin HH:MM:SS.

#include <iostream>
using namespace std;

int main()
{
int time = 0, ore = 0, min = 0, sec = 0;
cout << "Sheno numrin e sekondave: ";
cin >> time;

ore=time/3600;
time=time%3600;
min=time/60;
time=time%60;
sec=time;

cout<<"\nSekondat e kthyer n‰ formatin HH:MM:SS jan‰: "<<ore<<":"


<<min<<":"<<sec<<"\n";

system("pause");
return 0;
}

19. Të shkruhet programi i cili shumën e lexuar përmes tastierës e kthen në


50, 20,10, 5, 2 dhe 1 centë.

#include <iostream>
using namespace std;

const int cent50 = 50;


const int cent20 = 20;
const int cent10 = 10;
const int cent5 = 5;
const int cent2 = 2;
const int cent1 = 1;

int main()
{
int shuma;
cout << "Sh‰no shum‰n n‰ cent‰: ";
cin >> shuma;
cout << endl;
cout<< "Shuma e sh‰nuar n‰ cent ‰sht‰ " << shuma;
cout.width(60);
cout.fill('-');
cout<< endl;
cout<< "\nNumri i 50 cent‰ve ‰sht‰ "
<< shuma / cent50;
shuma = shuma % cent50;
cout << "\nNumri i 20 cent‰ve ‰sht‰ "
<< shuma / cent20;
shuma = shuma % cent20;
cout << "\nNumri i 10 cent‰ve ‰sht‰ "

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 16

<< shuma / cent10 ;


shuma = shuma % cent10;
cout << "\nNumri i 5 cent‰ve ‰sht‰ "
<< shuma / cent5;
shuma = shuma % cent5;
cout << "\nNumri i 2 cent‰ve ‰sht‰ "
<< shuma / cent2;
shuma = shuma % cent2;
cout << "\nNumri i 1 cent‰ve ‰sht‰ "
<< shuma / cent1 << endl;
shuma = shuma % cent1;
cout <<endl;

return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 17

Degëzimet dhe veprimet me operatorë

Degëzimi if dhe if-else

20. Të shkruhet programi duke përdorur operatorët && dhe || përmes të cilit
kontrollohet vlera hyrëse nëse është shkronjë apo jo.

#include <iostream>
using namespace std;

int main()
{
char karakteri=0;
cout<<"\nSheno nje karakter: ";
cin>>karakteri;

if (((karakteri>='A') && (karakteri<='Z')) ||((karakteri>='a') &&


(karakteri<='z')))
cout << "\nKeni shtypur nje shkronje.\n\n";
else
cout <<"\nNuk keni shtypur shkronje.\n\n";

return 0;
}

21. Të shkruhet programi i cili kontrollon nëse numri i dhënë përmes


tastierës është më i madh se apo më i voëgël se 10.

#include<iostream>
using namespace std;

int main()
{
cout << "Sh\x89no nj‰ num‰r?: ";
int n;
cin >> n;

if (n > 10)
cout << "Numri " << n << " ‰sht‰ m‰ i madh se 10\n";
else
cout << "Numri " << n << " ‰sht‰ m‰ i vog‰l se 10\n";

return 0;
}

22. Të shkruhet programi i cili cakton notën e studentit në varësi të


pikëve të cilat merren si vlerë hyrëse.

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 18

Rangu Nota
0 – 49 5
50 – 59 6
60 – 69 7
70 -79 8
80 – 89 9
90- 99 10

#include <iostream>
using namespace std;

int main()
{
short int piket,nota =0;

cout<<"Sa pik\x89 ka studenti: ";


cin>>piket;

if(piket<50)
nota=5;
else if(piket<60)
nota=6;
else if(piket<70)
nota=7;
else if(piket<80)
nota=8;
else if(piket<90)
nota=9;
else if(piket<=100)
nota=10;
else
cout<<"Piket jane dhene gabim. Nota nuk mund te llogaritet!\n\n";

if(nota>=5&&nota<=10)
cout<<"Nota e studentit eshte:"<<nota<<endl <<endl;

return 0;
}

23. Të shkruhet programi për konvertimin e inçëve në centimetra. Vlera e


inçëve të jepet përmes tastierës.

#include <iostream>
using namespace std;

int main ()
{
const double CENTIMETER_PER_INCH = 2.54;
int incha;
double centimeter;

cout << "Sh‰no gjat‰sin‰ n‰ in‡a: ";


cin >> incha;
cout << endl;
centimeter = CENTIMETER_PER_INCH * incha;
cout << incha
<< " in‡ jan‰ baras me " << centimeter

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 19

<< "centimetra" <<endl;

return 0;
}

24. Të shkruhet programi për konvertimin e centimetrave në inç. Vlera e


centimetrave të jepet përmes tastierës.

#include <iostream>
using namespace std;

int main ()
{
const double CENTIMETER_PER_INCH = 2.54;
int incha;
double centimeter;

cout << "Sh‰no gjatesin‰ n‰ centimetra: ";


cin >> centimeter;
cout << endl;
incha = CENTIMETER_PER_INCH / centimeter;
cout << centimeter
<< " centimetra jan‰ baras me " << incha
<< " in‡" <<endl;

return 0;
}

25. Të shkruhet programi i cili konverton temperaturën nga Celsius në


Fahrenheit dhe anasjelltas. Kahja e konvertimit të jetë me zgjedhje.

#include<iostream >
using namespace std;

int main()
{
float ftemp;
float ctemp;
int select = 0;

cout << "Zgjidh një opsion: " << endl;


cout<<"-------------------------------------------\n";
cout << "1) Fahrenheit-n\x89-Celsius" << endl;
cout << "2) Celsius-n\x89-Fahrenheit" << endl << endl;
cout << "Enter: ";
cin >> select;

if (select == 1)
{
cout << "Shtyp temperaturen në Fahrenheit për ta konvertuar në Celsius: ";
cin >> ftemp;
ctemp = (ftemp - 32) / 1.8; //(ftemp-32) * 5 / 9;
cout << "Temperatura në Celsius është: " << ctemp << endl;
}
else if (select == 2)
{
cout <<"Shtyp temperaturen në Celsius për ta konvertuar në Fahrenheit: ";
cin >> ctemp;
ftemp = (ctemp*1.8) + 32; //ctemp*9/5 + 32;
cout << "Temperatura në Fahrenheit është: " << ftemp << endl;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 20

}
else
cout << "Duhet të shtypni 1 ose 2." << endl;

return 0;
}

26. Të shkruhet programi i cili llogarit vlerën e funksionit y=x3+1 dhe në


varësi të vlerës së llogaritur të realizohet lirimi në përqindje sipas
tabelës së mëposhtme.

Vlera Lirimi
0 – 49.99 2%
50.00 – 99.99 3.5%
100.00 - 199.99 4.3%
200.00 – 499.99 6%
500.00 – 7.8%

#include<iostream >
#include<iomanip>
using namespace std;

int main()
{
float x,y, z=0;
cout<<"Shtyp vler\x89n e x=: ";
cin>>x;
y=pow(x,3)+1;

if ((x>0) && (x<=49.99))


z=y*2/100;
else if ((x>=50) && (x<=99.99))
z=y*3.5/100;
else if((x>=100) && (x<=199.99))
z=y*4.3/100;
else if((x>=200) && (x<=499.99))
z=y*6/100;
else if(x>=500)
z=y*7.8/100;
else
z=0;

cout<<"\n"<<setw(25)<< "Shuma =" <<y


<< setw(25)<<"\nZbritja =" <<z
<<setw(25) <<"\nTotali =" <<y-z <<"\n";

return 0;
}

27. Të shkruhet programi për përcaktimin e pagesës së punëtorit në bazë të


numrit të orëve. Nëse punëtori ka punuar më shumë se 40 orë në javë,
atëherë ora paguhet sa 1.5 e çmimit normal.

#include <iostream>
#include <iomanip>
using namespace std;

int main()

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 21

{
double pagesa, cmimi, oret;

cout << fixed << showpoint << setprecision(2);


cout << "Numri i or‰ve t‰ pun‰s: ";
cin >> oret ;
cout << "Cmimi i ores: ";
cin >> cmimi;

if (oret > 40.0)


pagesa = 40.0 * cmimi +
1.5 * cmimi * (oret - 40.0);
else
pagesa = oret * cmimi;
cout << endl;
cout << "Pagesa ‰sht‰ " << pagesa
<< endl;

return 0;
}

28. Të shkruhet programi i cili llogarit pagën NETO (pn) nëse dihet paga
BRUTO (pb).
 Punëtorit i ndalen 5% të pagës bruto për trustin pensional (pen), kurse
5% i paguan punëdhënësi.
 Punëtorit i ndalet tatimi në pagë (tat) e i cili është i përshkallëzuar
në varësi të pagës bruto dhe llogaritet pasi të jetë hequr pagesa për
trustin pensional.

Rangu Tatimi
0 < pb <= 80 0%
80.00 < pb <= 250.00 4%
250 < pb <= 450.00 8%
450.00 < pb 10%

#include<iostream >
#include<iomanip>
using namespace std;

int main()
{
float pb,pn,tat,pen;
float mbetja;
cout<<"Sa është paga bruto? pg= ";
cin>>pb;

pen=pb*0.05; //minus 5% per pension


pb=pb-pen;

if (pb>=450)
{
mbetja = pb - 450;
tat = (mbetja * 0.1) + (200 * 0.08) + (170 * 0.04);
pn=pb-tat;
}
else if (pb>250)
{
mbetja = pb - 250;
tat = (mbetja * 0.08) + (170 * 0.04);

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 22

pn=pb-tat;
}
else if (pb>80)
{
mbetja = pb - 80;
tat = (mbetja * 0.04);
pn=pb-tat;
}

cout<< setw(10)<<"\nPaga Bruto" <<setw(15) <<"Tatimi" << setw(20) <<"Pensioni" <<


setw(20) <<"Paga neto\n";
cout <<"-----------------------------------------------------------------------
\n";
cout << setw(10)<<pb+pen <<setw(15) <<tat<<setw(20) <<2*pen <<setw(20)<<pn;
cout<<endl <<endl;

return 0;
}

29. Të shkruhet programi për mbledhjen, zbritjen, shumëzimin dhe pjesëtimin


e dy numrave të plotë:
a) Nëse a dhe b janë pozitiv: shtyp a+b
b) Nëse a është pozitiv dhe b është negativ: shtyp a
c) Nëse a është negativ dhe b është pozitiv: shtyp b
d) Nëse a dhe b janë negativ: shtyp a*b

#include <iostream>
using namespace std;

int main()
{
int a, b;
cout<<"Jep vler\x89n e a=";
cin>>a;
cout<<"Jep vler\x89n e b=";
cin>>b;

if (a>0 && b>0)


cout <<"Rezultati (a+b)=" <<a+b <<endl;
else
if (a>0 && b<0)
cout <<"Rezultati a=" <<a <<endl;
else
if (a<0 && b>0)
cout <<"Rezultati b=" <<b <<endl;
else
if (a<0 &&b<0)
cout <<"Rezultati (a*b)=" <<a*b<<endl;

return 0;
}

30. Të shkruhet programi duke përdorur IF, &&, || dhe != për të llogaritur
shprehjen (A &&B ||C) &&!D nëse dihet se: A=(0, 5, 10, 15…) ; B= (më i
vogël se 100); C= (0, 3, 6, 9…); D <> 6

#include<iostream >
using namespace std;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 23

int main()
{
int a=0;
cout <<"Shtyp nj‰ num‰r a=";
cin >>a;

if ((((a%5==0)&&(a<100))||(a%3==0))&& (a!=6))
cout<<"Numri i shtypur i plot‰son kushtet\n\n";
else
cout<<"Numri i shtypur nuk i plot‰son kushtet\n\n";
system("pause");
return 0;
}

Degëzimi Switch

31. Të shkruhet programin për kalkulatorin e thjeshtë duke përdorur switch


e i cili kryen llogaritje për dy numra të plotë. Nëse shtypet + të kryhet
mbledhja, nëse shtypet - të kruhet zbritja, nëse shtypet / të kryhet
pjesëtimi, nëse shtypet * të kryhet shumëzimi, për karaktere tjera të
shfaqet mesazhi "Gabim në llogaritje".

#include<iostream >
using namespace std;

int main()
{
int x, y;
char karakteri;
cout<<"Jep vler‰n e x=";
cin>>x;
cout<<"Jep vler‰n e y=";
cin>>y;
cout<<"-------------------------";
cout<<"\nShtyp nj‰ karakter\n";
cout<<"-------------------------\n";
cout<<"+ p‰r mbledhje\n- p‰r zbritje\n* p‰r shum‰zim\n/ p‰r pjes‰tim\n\n";
cin>>karakteri;
cout<<"Rezultati: ";
switch (karakteri)
{
case '+':
cout<< x + y;
break;
case '-':
cout<< x - y;
break;
case '*':
cout<< x * y;
break;
case '/':
cout<< x / y;
break;
default:
cout << "Gabim në llogaritje" << endl;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 24

}
cout<<endl;

return 0;
}

32. Të shkruhet programi duke përdorur switch, i cili identifikon


karakterin e shtypur në tastierë se a është zanore apo jo.

#include<iostream >
#include<iomanip>
using namespace std;

int main()
{
char karakteri=0;
cout<<"Shtyp një karakter: ";
cin>>karakteri;
cout<<"-------------------------\n";

switch (karakteri)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'ë':
cout<< "Keni shtypur nj‰ zanore\n";
break;
default:
cout << "Nuk keni shtypur nj‰ zanore\n" << endl;

}
cout<<endl;

return 0;
}

33. Të shkruhet programi i cili notën e shtypur si numër e shfaq me tekstin


si në tabelën e mëposhtme.

Nota Me fjalë
1 Dobët
2 Mjaftueshëm
3 Mirë
4 Shumë mirë
5 Shkëlqyeshëm
Vlerë e panjohur

#include <iostream>
using namespace std;

int main()
{
int nota;
cout << "Jep notën nga 1 deri në 5. nota=";
cin >> nota;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 25

switch (nota)
{
case 1:
cout<<"Dobët\n"; break;
case 2:
cout<<"Mjaftueshëm\n"; break;
case 3:
cout<<"Mirë\n"; break;
case 4:
cout<<"Shumë mirë\n"; break;
case 5:
cout<<"Shkëlqyeshëm\n"; break;
default:
cout <<"Vlerë e panjohur\n";
}

return 0;
}

34. Të shkruhet programi për konvertimin e valutës Euro në valutat Dollar


amerikan, Jen Japonez, Lek shqiptar, Lira turke dhe Pound anglez nëse
dihet faktori i konvertimit.

#include<iostream>
using namespace std;

int main()
{
char zgjidh;
double Euro,USD,JPY,ALL,TRY,GBP;
cout<<"Konvertimi i Euros n‰ valuta tjera\n"
<<"------------------------------------------\n";
cout<<"Ne cilin valut‰ deshiron ta konvertosh:?\n";
cout<<"1. Dollar\n";
cout<<"2. Jen\n";
cout<<"3. Lek\n";
cout<<"4. Lira turke\n";
cout<<"5. Pound anglez\n\n";
cout<<"Shtyp d per ta ndalur\n"
<<"------------------------------------------\n";
cin>>zgjidh;
cout<<"Sheno vleren e eurove: ";
cin>>Euro;

cout<<"\n\n";

switch(zgjidh)
{
case '1':
USD = Euro * 1.33144; //faktori i konvertimit
cout<<Euro<<" Euro jan‰ ekuivalente me "<<USD<<" Dollar amerikan\n";
break;
case'2':
JPY = Euro * 117.630; //faktori i konvertimit
cout<<Euro <<" Euro jan‰ ekuivalente me "<<JPY<<" Jen japonez\n";
break;
case'3':
ALL= Euro * 139.736; //faktori i konvertimit
cout<<Euro<<" Euro jan‰ ekuivalente me "<<ALL<<" Lek shqiptar\n";
break;
case'4':

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 26

TRY= Euro * 2.35902; //faktori i konvertimit


cout<<Euro<<" Euro jan‰ ekuivalente me "<<TRY<<" Franga zvicerane\n";
break;
case'5':
GBP= Euro * 0.838997; //faktori i konvertimit
cout<<Euro<<" Euro jan‰ ekuivalente me "<<GBP<<" Pound anglez\n";
break;
}
cout<<"\n";
system("pause");
}

Krijimi i unazave përmes etiketave (labelave)

35. Të shkruhet programi për llogaritjen e faktorielit n!. Unaza të


krijohet përmes etiketës.

#include <iostream>
using namespace std;

int main()
{
double F=1;
int n,i=1;
cout << "\nVlera e n: ";
cin >> n;

etiketa: //rreshti11: etiketa e krijuar


if (i<=n)
{
F=F*i;
i++;
goto etiketa; //shko të etiketa në rreshtin 11
}

cout << "\nVlera e faktorielit F=" << F


<< "\n\n";

system("pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 27

Operatori i kushtëzuar ?
36. Të shkruhet programi duke përdorur operatorin e kushtëzuar ? përmes të
cilit krahasohen vlerat e dy variablave.

#include <iostream>
using namespace std;
int main()
{
int i = 1, j = 2;
cout << ( i > j ? i : j ) << " ‰sht‰ m‰ i madh."
<< endl;
system("pause");
return 0;
}

37. Të shkruhet programi për llogaritjen e shprehjes së mëposhtme duke


përdorur operatorin e kushtëzuar ?.

#include <iostream>
using namespace std;

int main()
{
int x=2, y;
y=(x<1) ? (4*x*x+2*x-4) : (6*x-3);
cout << "Vlera e variablës y="
<< y
<< endl;

system("Pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 28

Unazat dhe veprimet me unaza

Unaza while

38. Të shkruhet programi për llogaritjen e faktorielit të shprehjes


( ).

#include <iostream>
using namespace std;

int main()
{
double F=1;
int n,i=1;
cout << "\nVlera e n: ";
cin >> n;

while (i<=(2*n-1))
{
F=F*i;
i=i+1;
}

cout << "\nVlera e faktorielit F=" << F


<< "\n\n";

system("pause"); //konzola do të qendrojë e hapur


return 0;
}

39. Të shkruhet programi për shtypjen e karaktereve të alfabetit amerikan


në formë trekëndëshi si në pamjen e mëposhtme duke e përdorur unazën
while.

A
B B
C C C
D D D D
E E E E E

#include <iostream>
using namespace std;

int main()
{
int i=1,j=1;
char input,temp='A';
cout<< "Sheno karakterin e fundit për trekendshin: ";
cin>>input;

while(i<=input-'A'+1)
{
while(j<=i)
{
cout<<temp;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 29

++j;
}
++temp;
cout<<"\n";
++i;
j=1;
}
system("pause");
return 0;
}

40. Të shkruhet programi për numrimin e shifrave për numrin e shënuar


përmes tastierës. Programi të realizohet përdorur unazës while.

#include <iostream>
using namespace std;

int main()
{
int num,shifra=0;

cout<<"Sheno nje numer: ";


cin>>num;

while(num)
{
num=num/10;
shifra++;
}
cout<<"Numri i shenuar ka "<<shifra<< " shifra.\n";

system("pause");
return 0;
}

Unaza do- while

41. Të shkruhet programi për llogaritjen e shumës së numrave 3 + 5 + 7+...


përmes unazës do-while.

#include <iostream>
using namespace std;

int main()
{
int n,i=0;
int s=0;
cout<<"Vlera e n=";
cin>>n;

do
{
s+=(2*i+1);
i++;
}
while(i<=n);

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 30

cout<<"Shuma s=" <<s


<<"\n\n";

system("pause");
return 0;
}

42. Të shkruhet programi për llogaritjen e shumës së katrorëve të numrave


tek dhe kubeve të numrave çift nga 1 deri në n duke e përdorur unazën do-
while.

#include <iostream>
using namespace std;

int main()
{
int i,n;
double s;
cout << "\nVlera e n= ";
cin>>n;
s=0;
i=1;

do
{
s=s+pow(i,2.)+pow(i+1,3.);
i=i+2;
}
while (i<=n);

cout << "Shuma s="


<< s
<< "\n";

system("pause");
return 0;
}

43. Të shkruhet programi për shtypjen e karaktereve të alfabetit amerikan


në formë trekëndëshi si në pamjen e mëposhtme duke e përdorur unazën do-
while.

A
B B
C C C
D D D D
E E E E E

#include <iostream>
using namespace std;

int main()
{
int i=1,j=1;
char input,temp='A';
cout<< "Sheno karakterin e fundit për trekendshin: ";
cin>>input;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 31

do
{
do
{
cout<<temp;
++j;
} while(j<=i);
++temp;
cout<<"\n";
++i;
j=1;
} while(i<=input-'A'+1);

system("pause");
return 0;
}

44. Të shkruhet programi për konvertimin e numrit nga sistemi decimal në


sistemin binar.

#include <iostream>
using namespace std;
int main()
{
long dec,mbetja,i=1,bin=0;
cout<<"Sheno numrin decimal:";
cin>>dec;

do
{
mbetja=dec%2;
bin=bin + (i*mbetja);
dec=dec/2;
i=i*10;
}while(dec>0);
cout<<"Numri binar i numrit te dhene eshte: "<<bin<<endl;

system("pause");
return 0;
}

45. Të shkruhet programi për konvertimin e numrit nga sistemi decimal në


sistemin oktal.

#include <iostream>
using namespace std;
int main()
{
long dec,mbetja,i=1,octal=0;
cout<<"Sheno numrin decimal:";
cin>>dec;

do
{
mbetja=dec%8;
octal=octal + (i*mbetja);
dec=dec/8;
i=i*10;
}while(dec>0);
cout<<"Numri oktal i numrit te dhene eshte: "<<octal<<endl;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 32

system("pause");
return 0;
}

Unaza for

46. Të shkruhet programi për shtypjen e karaktereve të alfabetit amerikan


në formë trekëndëshi si në pamjen e mëposhtme duke e përdorur unazën for.

A
B B
C C C
D D D D
E E E E E

#include <iostream>
using namespace std;

int main()
{
int i,j;
char input,temp='A';
cout<< "Sheno karakterin e fundit për trekendshin: ";
cin>>input;

for(i=1;i<=(input-'A'+1);++i)
{
for(j=1;j<=i;++j)
cout<<temp;
++temp;
Cout<<"\n";
}
system("pause");
return 0;
}

47. Të shkruhet programi për shtypjen e piramidës në pozitën si në pamje.


Numri i rreshtave të përcaktohet përmes tastierës. Të realizohet përmes
unazës for.

* * * * *
* * * *
* * *
* *
*

#include <iostream>
using namespace std;

int main()
{
int i,j,rows;
cout<< "Sheno numrin e rreshtave: ";
cin>>rows;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 33

for(i=rows;i>=1;--i)
{
for(j=1;j<=i;++j)
{
cout<<"* ";
}
cout<<"\n";
}
system("pause");
return 0;
}

48. Të shkruhet programi për shtypjen e piramidës të ndërtuar me numra si


në pamje. Numri i rreshtave të përcaktohet përmes tastierës

1 2 3 4 5
1 2 3 4
1 2 3
1 2
1

#include <iostream>
using namespace std;

int main()
{
int i,j,rreshta;
cout<< "Sheno numrin e rreshtave: ";
cin>> rreshta;
for(i= rreshta;i>=1;--i)
{
for(j=1;j<=i;++j)
{
cout<<j;
}
cout<<"\n";
}

system("pause");
return 0;
}

49. Të shkruhet programi për shtypjen e piramidës të ndërtuar me ylltha (*)


si në pamje. Numri i rreshtave të përcaktohet përmes tastierës

*
* * *
* * * * *
* * * * * * *
* * * * * * * * *

#include <iostream>
using namespace std;

int main()
{
int i,hapesira,rreshta,k=0;
cout<< "Sheno numrin e rreshtave: ";

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 34

cin>>rreshta;

for(i=1;i<=rreshta;++i)
{
for(hapesira=1;hapesira<=rreshta-i;++hapesira)
{
cout<<" ";
}
while(k!=2*i-1)
{
cout<<"* ";
++k;
}
k=0;
cout<<"\n";
}

system("pause");
return 0;
}

50. Të shkruhet programi për shtypjen e piramidës së ndërtuar me numra si


në pamje. Numri i rreshtave të përcaktohet përmes tastierës. Të realizohet
përmes unazave for dhe while.

1
2 3 2
3 4 5 4 3
4 5 6 7 6 5 4
5 6 7 8 9 8 7 6 5

#include <iostream>
using namespace std;

int main()
{
int i,hapesira,rreshta,k=0,nr=0,nr1=0;
cout<<"Sheno numrin e rreshtave: ";
cin>>rreshta;
for(i=1;i<=rreshta;++i)
{
for(hapesira=1;hapesira<=rreshta-i;++hapesira)
{
cout<<" ";
++nr;
}
while(k!=2*i-1)
{
if (nr<=rreshta-1)
{
cout<<i+k <<" ";
++nr;
}
else
{
++nr1;
cout<<i+k-2*nr1 <<" ";
}
++k;
}
nr1=nr=k=0;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 35

cout<<"\n";
}

system("pause");
return 0;
}

51. Të shkruhet programi për shtypjen e piramidës së përmbysur të ndërtuar


me ylltha (*) si në pamje. Numri i rreshtave të përcaktohet përmes
tastierës.

* * * * * * * * *
* * * * * * *
* * * * *
* * *
*

#include <iostream>
using namespace std;

int main()
{
int rreshta,i,j,hapesira;
cout<<"Sheno numrin e rreshtave: ";
cin>>rreshta;
for(i=rreshta;i>=1;--i)
{
for(hapesira=0;hapesira<rreshta-i;++hapesira)
cout<<" ";
for(j=i;j<=2*i-1;++j)
cout<<"* ";
for(j=0;j<i-1;++j)
cout<<"* ";
cout<<"\n";
}

system("pause");
return 0;
}

52. Të shkruhet programi për shtypjen e trekëndëshit të Pascalit si në


pamje. Numri i rreshtave të përcaktohet përmes tastierës.

1
1 1
1 1 2
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

#include <iostream>
using namespace std;

int main()
{
int rreshta,poz=1,hapesira,i,j;
cout<<"Sheno numrin e rreshtaves: ";

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 36

cin>>rreshta;
for(i=0;i<rreshta;i++)
{
for(hapesira=1;hapesira<=rreshta-i;hapesira++)
cout<<" ";
for(j=0;j<=i;j++)
{
if (j==0||i==0)
poz=1;
else
poz=poz*(i-j+1)/j;
cout<<poz <<" ";
}
cout<<"\n";
}

system("pause");
return 0;
}

53. Të shkruhet programi për shtypjen e trekëndëshit të Floydit. Numri i


rreshtave të përcaktohet përmes tastierës.

1
2 3
4 5 6
7 8 9 10

#include <iostream>
using namespace std;

int main()
{
int rreshta,i,j,k=0;
cout<<"Sheno numrin e rreshtave: ";
cin>>rreshta;
for(i=1;i<=rreshta;i++)
{
for(j=1;j<=i;++j)
cout<< k+j<<" ";
++k;
cout<<"\n";
}

system("pause");
return 0;
}

54. Të shkruhet programi për shtypjen e yllthave (*) si në pamjen e


mëposhtme. Numri i rreshtave të përcaktohet përmes tastierës.

*
***
*****
***

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 37

#include <iostream>
using namespace std;

int main()
{
int n, c, k, hapesira = 1;

cout<<"Sheno numrin e rreshtave: ";


cin>>n;
hapesira = n - 1;

for (k = 1; k <= n; k++)


{
for (c = 1; c <= hapesira; c++)
cout<<" ";
hapesira--;

for (c = 1; c <= 2*k-1; c++)


cout<<"*";
cout<<"\n";
}

hapesira = 1;

for (k = 1; k <= n - 1; k++)


{
for (c = 1; c <= hapesira; c++)
cout<<" ";
hapesira++;

for (c = 1 ; c <= 2*(n-k)-1; c++)


cout<<"*";
cout<<"\n";
}

system("pause");
return 0;
}

55. Të shkruhet programi për shtypjen dhe krijimin e X-it përmes x-it, siç
shihet në pamjen e mëposhtme. Numri i rreshtave të përcaktohet përmes
tastierës.

x x
x x
x x
x x
x x
x
x x
x x
x x
x x
x x

#include <iostream>

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 38

using namespace std;

int main()
{
int rreshta=0;
int numerues1=0;

cout<<"Sheno numrin e rreshtave: ";


cin >> rreshta;

numerues1=-rreshta;

while(numerues1 <=rreshta)
{
for (int numerues2 = -rreshta; numerues2 <= rreshta; ++numerues2)
{
if (abs(numerues1) == abs(numerues2))
{
cout<<"x";
}
else
{
cout<<" ";
}
}
++numerues1;
cout<<endl;
}

system("pause");
return 0;
}

56. Çka do të shtypet në dalje pas ekzekutimit të kodit?:

a) b)
int vekt[5]; const int m=4;
for (int i = 0; i < 5; i++) int i, j, A[m][m] = {
vekt[i] = 2 * i -1; {11, 15, 19, 23},
for (int i = 0; i < 5; i++) {12, 22, 34, 46},
cout << vekt[i] << " "; {13, 23, 33, 43},
cout << endl; {14, 24, 34, 44}
vekt[0] = vekt[4]; };
vekt[4] = vekt[1]; for (i = 0; i <m-1; i++)
vekt[2] = vekt[3] + vekt[0]; {
for (int i = 0; i < 5; i++) for (j = 0; j < m-2; j++)
cout << vekt[i] << " "; cout << setw(3)<<A[i][j];
cout << endl; cout<<endl;
}
- 1 1 3 5 7 1 1 1 5
7 1 1 2 5 1 1 2 2 2
1 3 2 3

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 39

Urdhri break

57. Të shkruhet programi për mbledhjen e numrave tek nga 1 deri në n. Për
i>15 të ndërpritet unaza duke përdorur urdhrin break.

#include <iostream>
using namespace std;

int main()
{
int n,i=0;
int s=0;
cout<<"Vlera e n=";
cin>>n;

do
{
s+=(2*i+1);
i++;
if (i>15)
break;
}
while(i<=n);

cout<<"Shuma s=" <<s


<<"\n\n";
system("pause");
return 0;
}

58. Të shkruhet programi për mbledhjen e numrave të njëpasnjëshëm prej 1


deri në n. Për s>99 të ndërpritet unaza duke përdorur urdhrin break.

#include <iostream>
using namespace std;

int main()
{
int n,i=0;
int s=0;
cout<<"Vlera e n=";
cin>>n;

while(i<=n)
{
s+=i;
i++;
if (s>99)
break;
}

cout<<"Shuma s=" <<s


<<"\n\n";
system("pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 40

Urdhri continue

59. Të shkruhet programi për shtypjen e numrave të njëpasnjëshëm nga 1 deri


në 10. Për i=5 të kapërcehet hapi duke përdorur urdhrin continue.

#include <iostream>
using namespace std;

int main()
{
int i;
for (i=1;i<=10;i++)
{

if (i == 5) continue;
cout << "i="
<< i
<< "\n";
}

system("pause");
return 0;
}

60. Të shkruhet programi për llogaritjen e vlerës së funksionit dhe të


bëhet kapërcimi i hapit përmes urdhrit continue për i=3.

∑( )

#include<iostream >
#include <math.h>
using namespace std;

int main()
{
int i,m,n;
double s=0,y;

cout << "Vlera e m=";


cin >> m;
cout << "Vlera e n=";
cin >> n;

for (i=1;i<=m+n;i++)
{
if (i==3) continue;
s=s+(4*m-n*i);
}

y = 2*(pow(m,4.)) + (n*s)/2;

cout << "Vlera e y ="


<< y
<< "\n\n";

system("pause");

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 41

return 0;
}

Shembuj me unaza (while, do-while, for)

61. Të shkruhet programi për shtypjen e tabelës së shumëzimit nga 1 deri në


10 në formë tabelare.

#include <iostream>
using namespace std;

int main()
{
int X=10,Y=10; //tebela e rendit 10x10

for(int y = 1; y <= Y; y++)


{
cout<<" ";
for(int x = 1; x <= X; x++)
{
cout<<x*y<<" ";
if(x*y<=99)
cout<<" ";
if(x*y<=9)
cout<<" ";
}
cout<<endl<<endl;
}

system("pause");
return 0;
}

62. Të shkruhet programi për shtypjen e shkronjave të MËDHA duke përdorur


if (goto) dhe shkronjave të vogla duke përdorur while. Për secilën
shkronjë të paraqitet edhe kodi ASCII.

#include <iostream>
using namespace std;

int main()
{
cout<<"Shkronjat e medha duke perdorur if\n"
<<"--------------------------------------\n";
char karakteri = 'A';
etiketa:
if (karakteri <= 'Z')
{
cout << karakteri << " " << int(karakteri)<< endl;
karakteri++;
goto etiketa;
}

cout<<"\n\nShkronjat e vogla duke perdorur while\n"


<<"--------------------------------------\n";
karakteri='a';

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 42

while (karakteri <= 'z')


{
cout << karakteri << " " << int(karakteri) << endl;
karakteri++;
}

system("pause");
return 0;
}

63. Të shkruhet programi për llogaritjen e vlerës së funksionit përmes


unazës for nëse dihen vlerat e n dhe x.

( ) ∑[( ) ]

#include <iostream>
using namespace std;

int main()
{
int n,i;
double x,y, F, S;
cout <<"Jep vlerat e x= ";
cin>>x;
cout <<"Jep vlerat e n= ";
cin>>n;
F=1;

for (i=1;i<=n+2;i++)
F=F*i;
S=0;

for (i=1;i<=n;i++)
S=S+(F+2*i);
y=4*pow((x+1),2)-2*S;
cout <<"Vlera e funksionit y="
<<y
<<"\n\n";

system("pause");
return 0;
}

64. Të shkruhet programi për llogaritjen e vlerës së funksionit të dhënë


duke përdorur unazën for nëse dihen vlerat e n dhe x.

( ) ∏ [( ) ]
( )

#include <iostream>
using namespace std;

int main()
{

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 43

int n,i,j;
double x,y,P,F;
cout<<"Jep vleren e x=";
cin>>x;
cout<<"Jep vleren e n=";
cin>>n;
P=1;

for (i=1;i<=n;i++)
if ((i==2) || (i==3))
{

}
else
{
F=1;
for (j=1;j<=(2*i-1);j++)
F=F*j;
P=P*(F+i/2.);
}

y=pow((2*x+3),3) + P;
cout<<"Vlera e funksionit y="
<<y <<"\n\n";

system("pause");
return 0;
}

65. Të shkruhet programi për konvertimin e numrave në fjalë. Pas secilës


fjalë të krijohet një hapësirë (p.sh 123= një dy tre). Për të kontrolluar
nëse karakteret e shtypura janë numra, të përdoret funksioni isdigit() i
cili gjendet në librarinë <cctype>.

#include <iostream>
#include <cctype>
using namespace std;

int main()
{
int numri[50];
int elemente=0;
char shifra=' ';
cout<<"Sheno nje numer: ";

while(cin.get(shifra) && shifra != '\n')


{
if(isdigit(shifra))
{
numri[elemente] =(shifra)-'0'; //kjo e konverton char në integer duke
përdorur ASCII
++elemente;
}
}
cout<<endl;

for(int index=0; index < elemente; ++index)


{
switch(numri[index])
{
case 0 :

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 44

cout<<"Zero ";
break;
case 1 :
cout<<"Nj‰ ";
break;
case 2:
cout<<"Dy ";
break;
case 3:
cout<<"Tre ";
break;
case 4:
cout<<"Kat‰r ";
break;
case 5:
cout<<"Pes‰ ";
break;
case 6:
cout<<"Gjasht‰ ";
break;
case 7:
cout<<"Shtat‰ ";
break;
case 8:
cout<<"Tet‰ ";
break;
case 9:
cout<<"N‰nt‰ ";
break;
default:
cout<<"\Gabim!\n";
break;
}
}
cout<<endl;
system("pause");
return 0;
}

66. Të shkruhet programi i cili kontrollon nëse numri i dhënë është numër
amstrong. Numri është amstrong nëse shuma e kubeve të secilit numër veç e
veç është e barabartë me vetveten p.sh 371= 33 +73+13.

#include <iostream>
using namespace std;

int main()
{
int numri, temp, mbetja, shuma = 0;
cout<<"Sheno numrin: ";
cin>>numri;

temp = numri;

while( temp != 0 )
{
mbetja = temp%10;
shuma = shuma + mbetja*mbetja*mbetja;
temp = temp/10;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 45

if ( numri == shuma )
cout<<"Numri i shtypur eshte armstrong.\n";
else
cout<<"Numri i shtypur nuk eshte armstrong.\n";

system("pause");
return 0;
}

67. Të shkruhet programi për gjenerimin e numrave armstrong nga 1 deri në


kufirin e emërm i cili përcaktohet përmes tastierës.

#include <iostream>
using namespace std;

int main()
{
int mbetja;
long numri = 0, i, shuma = 0, temp;

cout<<"Sheno numrin maksimal deri ku deshiron te kerkosh per numer armstrong: ";
cin>>numri;

cout<<"Numrat armstrong te gjetur nga 1 deri ne " <<numri;

for(i= 1 ; i <= numri ; i++ )


{
temp = i;
while( temp != 0 )
{
mbetja = temp%10;
shuma = shuma + mbetja*mbetja*mbetja;
temp = temp/10;
}
if (i == shuma)
cout<<"\n"<< i;
shuma = 0;
}
cout<<endl;

system("pause");
return 0;
}

68. Të vizatohet bllok-diagrami për llogaritjen e shprehjes vijuese:

∑ [( ) ]

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 46

Fillimi

n, x

S=0

i=1

F=1

j=1

Po
F=F*j

j=j+1
Po

j<=2x+i

Jo

S=S+F +n/2

i=i+1

i<=n-1

Jo

S=3S

Fundi

69. Të vizatohet bllok-diagrami dhe të shkruhet programi për llogaritjen e


shumës së numrave prej 1 deri në 255. Nëse shuma momentale e kalon vlerën
4950, atëherë ndale programin dhe shtyp vlerën momentale.

Bllok-diagrami Kodi burimor


Fillimi #include<iostream>
using namespace std;
S=0

i=1
int main()
{
double s=0;
S=S+i int i=1;
do
Po
{
S>4950 s=s+i;
i=i+1;
if (s>4950)
i=i+1 break;
}while(i<=255);
Po
i<=255
cout<<"Vlera e llogaritur s= "
<<s
S <<endl;

system("pause");
Fundi
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 47

70. Të vizatohet bllok-diagrami dhe të shkruhet programi për llogaritjen e


prodhimit të numrave prej 5 deri në 25. Nëse prodhimi momental e kalon
vlerën 15000, atëherë ndale programin dhe shtype vlerën momentale.

Bllok-diagrami Kodi burimor


Fillimi
#include<iostream>
P=1 using namespace std;

i=5 int main()


{
double p=1;
P=P*i int i=5;
do
Po
{
P>15000 p=p*i;
i=i+1;
if (p>15000)
i=i+1 break;
}while(i<=25);
Po
i<=25
cout<<"Vlera e llogaritur p= "
<<p
<<endl;
P
system("pause");
return 0;
Fundi
}

71. Të vizatohet bllok-diagrami dhe të shkruhet programi për llogaritjen e


shumës së numrave tek prej 1 deri në 50 por që janë të plotpjesëtueshëm me
3. Për vlerën 9 të tejkalohet hapi.

Bllok-diagrami Kodi në C++


Fillimi
#include<iostream>
S=0 using namespace std;
i=3 int main()
{
double s=0;
i=9 int i;
//i=3 +6 janë numra tek dhe të plotpjestueshëm me 3
Jo for (i=3; i<=50;i=i+6)
Po {
S=S+i Po
if (i==9) continue;
s=s+i;
}
i=i+6
cout<<"Vlera e llogaritur S= "
<<s
i<=50 <<endl;

S
system("pause");
return 0;
}
Fundi

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 48

Vektorët
72. Të deklarohet fusha numerike një-dimensionale (vektori) me madhësi 5
dhe me pas të iniciohet në zero përmes unazës for.

#include <iostream>
using namespace std;

int main()
{
const int madhesia=5;
int vektori[5];
int index;
for (index = 0; index < madhesia; index++)
vektori[index] = 0;

system("pause");
return 0;
}

73. Të deklarohet fusha numerike një-dimensionale (vektori) me madhësi 5


dhe me pas anëtarët të mbushen me vlerat e indeksit përmes unazës for si
dhe në shtypen vlerat e anëtarëve duke përdorur unazën while.

#include <iostream>
using namespace std;

int main()
{
const int madhesia=5;
int vektori[5];
int index;
for (index = 0; index < madhesia; index++)
vektori[index] = index;
index=0;
while(index<madhesia)
{
cout<<vektori[index]
<<endl;
index++;
}

system("pause");
return 0;
}

74. Të deklarohet vektori dite në të cilin do të ruhen numri i ditëve për


secilin muaj dhe më pas të shtypet sa ditë i ka secili muaj.

Versioni 1
#include <iostream>
#include <iomanip>
using namespace std;

int main()

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 49

{
const int MUAJ = 12;
int dite[MUAJ];

dite[0] = 31; // Janar


dite[1] = 28; // Shkurt
dite[2] = 31; // Mars
dite[3] = 30; // Prill
dite[4] = 31; // Maj
dite[5] = 30; // Qershor
dite[6] = 31; // Korrik
dite[7] = 31; // Gusht
dite[8] = 30; // Shtator
dite[9] = 31; // Tetor
dite[10] = 30; // Nëntor
dite[11] = 31; // Dhjetor

for (int muaj = 0; muaj < MUAJ; muaj++)


{
cout << "Muaji " << setw(2) << (muaj + 1) << " ka ";
cout << dite[muaj] << " dite.\n";
}

system("pause");
return 0;
}

Versioni 2
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
const int MUAJ = 12;
int dite[MUAJ]={31,28,31,30,31,30,31,31,30,31,30,31};

for (int muaj = 0; muaj < MUAJ; muaj++)


{
cout << "Muaji " << setw(2) << (muaj + 1) << " ka ";
cout << dite[muaj] << " dite.\n";
}
system("pause");
return 0;
}

75. Të shkruhet programi për deklarimin, inicimin dhe shtypjen e vlerave të


anëtarëve të vektorit A(m)={1,-4,3,7,5,9}.

#include <iostream>
using namespace std;

int main()
{
const int m=6;
int i, a[m]={1,-4,3,7,5,9};

for ( i = 0; i < 6; i++ )


{
cout<<"An\x89tari "

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 50

<<i
<<" ka vler‰n "
<<a[i]
<<endl;
}

system("pause");
return 0;
}

76. Të shkruhet programi për mbushjen e vektorit me 4 anëtarë. Mbushja të


bëhet përmes tastierës. Pas mbushjes të bëhet shtypja e anëtarëve të
vektorit.

#include <iostream>
using namespace std;

int main()
{
const int m=4;
int a[m],i;
//mbushja e vektorit
for ( i = 0; i < m; i++ )
{
cout <<"Jep vleren e an‰tarit " <<i <<": ";
cin >>a[i];
}
//printimi i anëtarëve
cout <<"\nP\x89rmbajtja e vektorit\n\n";
for ( i = 0; i < m; i++ )
{
cout<<"An\x89tari " <<i
<<" ka vler\x89n "
<<a[i] <<endl;
}

system("pause");
return 0;
}

77. Të shkruhet programi i cili mbush vektorin me 8 anëtarë. Mbushja të


realizohet me unazën while, kurse vlerat e anëtarëve të mbushen me kubin e
indekseve. Shtypja të bëhet me unazën for.

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
const int m=8;
int a[m],i;
i=0;

while(i<m)//mbushja e vektorit
{
a[i] = pow(i,3.);
i=i+1;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 51

cout<<"Vektori i krijuar: ";


cout<<"A["
<<m
<<"]= {";
for(i=0;i<m;i++) //shtypja e vektorit
{
cout<<a[i];
if(i!= m-1)
cout<<", ";
}
cout<<"}"
<<endl;

system("pause");
return 0;
}

78. Të shkruhet programi i cili e llogarit shumën e anëtarëve të vektorit


A(m)={3,1,6,8,2,9,3,6}.

#include <iostream>
using namespace std;

int main()
{
const int m=8;
int i, a[m]={3,1,6,8,2,9,3,6};
double s=0;

for (i=0;i<m;i++)
{
s=s+a[i];
}
cout<<"Shuma e anetareve te vektorit A(m) = "<<s<<endl;
system("pause");
return 0;
}

79. Të shkruhet programi i cili gjen anëtarin me vlerë më të vogël të


vektorit A(m)={12,13,4,6,-8,6,-11,4}.

#include <iostream>
using namespace std;

int main()
{
const int m=8;
int i, a[m]={12,13,4,6,-8,6,-11,4};
int min = a[0];
for (int i = 0; i < m; i++)
{
if (a[i] < min)
{
min = a[i];
}
}
cout<<"An‰tari minimal ‰sht‰ : "
<<min
<<endl;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 52

system("pause");
return 0;
}

80. Të shkruhet programi në C++ i cili krijon vektorin B(n) nga vlerat e
anëtarëve të vektorit A(n) sipas shprehjes bi=ai+i.

#include <iostream>
using namespace std;

int main()
{
int const n=5;
int i,A[n]={1,4,-2,6,-1},B[n];
for (i=0;i<n;i++)
{
B[i]=A[i]+i;
cout << "B["
<< i
<< "]="
<< B[i]
<< "\n";
}

system ("pause");
return 0;
}

81. Të deklarohet dhe të mbushet vektori[5] me katrorët e indekseve. Më pas


të kërkohet për vlerën 4 nëse ekziston. Nëse gjenet të shfaqet pozita ku
është gjetur në të kundërtën të shfaqet mesazhi se nuk është gjetur.

#include <iostream>
using namespace std;

int main()
{
const int madhesia=5;
int vektori[5];
int index;
for (index = 0; index < madhesia; index++)
vektori[index] = index*index;
index=0;

bool gjetur = false;


int kerko=4; //numri qe po kerkohet
while (index < madhesia && !gjetur)
if (vektori[index] == kerko)
gjetur = true;
else
index++;
if (gjetur)
cout<<"Numri "<<kerko << " u gjend ne poziten " <<index<<endl;
else
cout<<"Numri "<<kerko << " nuk u gjend."<<endl;

system("pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 53

82. Të shkruhet programi i cili nga vektori i dhënë a[m]={2,4,-1,3,5,4} e


krijon vektorin e ri b[m] me renditje të kundërt nga vektori a[m].

#include <iostream>
using namespace std;

int main()
{
const int m=6;
int i, a[m]={2,4,-1,3,5,4},b[m];

for ( i = 0; i < m; i++ )


{
b[(m-1) - i] = a[i];
}

cout<<"\nVektori i krijuar b["


<<m
<<"]= {";
for(i=0;i<m;i++)
{
cout<<b[i];
if(i!= m-1)
cout<<", ";
}
cout<<"}\n"
<<endl;

system("pause");
return 0;
}

83. Të shkruhet programi i cili llogarit shumën e anëtarëve pozitiv dhe


prodhimin e anëtarëve negativ të vektorit të dhënë: a[m]={-2,-3,2,6,-
8,33,-1,4}.

#include <iostream>
using namespace std;

int main()
{
const int m=8;
int i, a[m]={-2,-3,2,6,-8,33,-1,4};
double s=0,p=1;

for ( i = 0; i < m; i++ )


{
if (a[i]>0)
s=s+a[i];
else
p=p*a[i];
}

cout<<"\nShuma e anëtarëve pozitiv s="


<<s
<<"\nProdhimi i anëtarëve negativ p="
<<p
<<endl;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 54

system("pause");
return 0;
}

84. Të formohet vektori A(n) duke llogaritur anëtarët ai përmes shprehjes


së mëposhtme nëse dihet vlera x dhe n.

∑( )
{

#include <iostream>
using namespace std;

int main()
{
int const n=5,
x=-2;
int i,j;
double s,A[n];

for (i=0;i<n;i++)
{
s=0;
if (x<0)
{
for (j=1;j<=i;j++)
s=s+pow((i+j),2.);
A[i]=-(x*s);
}
else
{
A[i]=x*x;
}

cout << "A["


<< I << "]="
<< A[i] << "\n";
}

system ("pause");
return 0;
}

85. Të sortohen anëtarët e vektorit A(m) sipas vlerës absolute duke filluar
prej anëtarit me vlerë më të madhe kah anëtari me vlerë me të vogël
A[m]={5,1,-12,-5,16, 8,-16}, nëse m=10.

#include <iostream>
using namespace std;

int main()
{
int const n=5;
int A[n]={5,1,12,-5,16},i,j,b;
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
{

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 55

if (abs(A[i])<=abs(A[j]))
{
b=A[i];
A[i]=A[j];
A[j]=b;
}
else
{

}
}
cout << "A=[ ";
for (i=0;i<n;i++)
cout << A[i]
<< " ";
cout << "]"
<< "\n";
system("pause");
return 0;
}

86. Të formohet vektori C(m+2+n) nga anëtarët e vektorit A[m], vektorit me


anëtar 0 dhe anëtarët e vektori B[n]. Formimi i vektorit të bëhet sipas
modelit të mëposhtëm, nëse A[m]={10,20,30,40} dhe B[n]={-1,-2,-3,-4}.

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
const int m=4,n=4,k=2,A[m]={10,20,30,40},B[n]={-1,-2,-3,-4};
int i,C[m+k+n];
for(i=0;i<m+k+n;i++)
if(i<n)
C[i]=A[i];
else if(i<n+k)
C[i]=0;
else
C[i]=B[i-n-k];
cout<<"Vektori i formuar C: ";
i=0;

do
{
cout<<setw(4)<<C[i];
i++;
}
while (i<m+k+n);
cout<<endl;
system("Pause");
return 0;
}

87. Të shkruhet programi për numërimin e anëtarëve pozitiv dhe negativ të


vektorit të dhënë A[m]= {2,-3,-7,4,1,-2,2}.

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 56

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
const int m=7;
int A[m]={2,-3,-7,4,1,-2,2},i,p,n;
p=0;
n=0;
for (i=0;i<m;i++)
if (A[i]<0)
n=n+1;
else
p=p+1;
cout << "Anëtarë pozitiv p="
<< p
<< "\n";
cout << "Anëtarë negativ n="
<< n
<< "\n";

system("pause");
return 0;
}

88. Të shkruhet programi për gjetjen e anëtarin me vlerë minimale për


vektorin e dhënë a[m]={-12,3,22,6,-8,33,-18,4}.

#include <iostream>
using namespace std;

int main()
{
const int m=8;
int i, a[m]={-12,3,22,6,-8,33,-18,4};
int min = a[0];
for (int i = 0; i < m; i++)
{
if (a[i] < min)
{
min = a[i];
}
}
cout<<"An‰tari minimal ‰sht‰ : "
<<min
<<endl;

system("pause");
return 0;
}

89. Të shkruhet programi për krijimin dhe mbushjen e vektorit. Madhësia e


vektorit të jetë më e madhe se 5 dhe vlerat e anëtarëve të mbushen në
mënyrë të rastit nga 1 deri në 10 përmes funksionit rand(). Më pas të
gjendet dhe të shtypet mesatarja e vlerave të anëtarëve të vektorit.

#include <iostream>

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 57

using namespace std;

int main()
{
const int m=10;
float a[m], mes=0;

for(int i = 0; i < m; i++)


a[i] = rand()%10+1;

cout<<"\nMesatarja e vektorit a["


<<m
<<"]= {";
for(int i=0;i<m;i++)
{
mes=mes+a[i];
cout<<a[i];
if(i!= m-1)
cout<<", ";
}
cout<<"} ‰sht‰ " <<mes/m <<"\n\n"
<<endl;

system("pause");
return 0;
}

90. Të shkruhet programi për numërimin e anëtarëve negativ të vektorit të


dhënë a[m]={2,-1,8,-2,-6,8,-4,0,9}, të cilët për nga vlera absolute janë
më të mëdhenj se numri pozitiv x.

#include<iostream >
using namespace std;

int main()
{
const int m=9;
int k,x,i, a[m]={2,-1,8,-2,-6,8,-4,0,9} ;
cout<<"Vlera e x=";
cin>>x;
k=0;

for(i=0;i<m;i++)
{
if(a[i]<0 && abs(a[i])>x)
k++;
}
cout<<"Numri i an‰tar‰ve q‰"
<<" plot‰sojn‰ kushtin ‰sht‰ ="
<<k<<endl <<endl;

system("pause");
return 0;
}

91. Të formohet vektori A(n) duke llogaritur anëtarët ai përmes shprehjes


së mëposhtme nëse dihet vlera x dhe n.

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 58

∑( )
{

#include <iostream>
using namespace std;

int main()
{
int const n=5,
x=-2;
int i,j;
double s,A[n];

for (i=0;i<n;i++)
{
s=0;
if (x<0)
{
for (j=1;j<=i;j++)
s=s+pow((i+j),2.);
A[i]=-(x*s);
}
else
{
A[i]=x*x;
}

cout << "A["


<< I << "]="
<< A[i] << "\n";
}

system ("pause");
return 0;
}

92. Të sortohen anëtarët e vektorit A(m) sipas vlerës absolute duke filluar
prej anëtarit me vlerë më të madhe kah anëtari me vlerë me të vogël
A[m]={5,1,-12,-5,16, 8,-16}, nëse m=10.

#include <iostream>
using namespace std;

int main()
{
int const n=5;
int A[n]={5,1,12,-5,16},i,j,b;
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
{
if (abs(A[i])<=abs(A[j]))
{
b=A[i];
A[i]=A[j];
A[j]=b;
}
else
{

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 59

}
}
cout << "A=[ ";
for (i=0;i<n;i++)
cout << A[i]
<< " ";
cout << "]"
<< "\n";
system("pause");
return 0;
}

93. Të formohet vektori C nga anëtarët e vektorit A[m], vektorit me anëtar


0 dhe anëtarët e vektori B[n] sipas modelit të mëposhtëm, nëse
A[m]={10,20,30,40} dhe B[n]={-1,-2,-3,-4}

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
const int m=4,n=4,k=2,A[m]={10,20,30,40},B[n]={-1,-2,-3,-4};
int i,C[m+k+n];
for(i=0;i<m+k+n;i++)
if(i<n)
C[i]=A[i];
else if(i<n+k)
C[i]=0;
else
C[i]=B[i-n-k];
cout<<"Vektori i formuar C: ";
i=0;

do
{
cout<<setw(4)<<C[i];
i++;
}
while (i<m+k+n);
cout<<endl;
system("Pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 60

Matricat
94. Të shkruhet programi në C++ për krijimin dhe mbushjen e matricës
katrore A(m,m), nëse m=5. Anëtarët e matricës të mbushen sipas shprehjes
aij=i.

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
const int m=5;
int i,j;
int a[m][m];
cout<<"Matrica e formuar a["<<m <<"]["<<m<<"]\n";

for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
a[i][j]=i;
cout<<setw(4)<<a[i][j];
}
cout<<endl;
}

system("Pause");
return 0;
}

95. Të shkruhet programi në C++ për krijimin dhe mbushjen e matricës


katrore A(m,m), nëse m=3. Mbushja të realizohet përmes unazës while, kurse
shtypja e anëtarëve të realizohet përmes unazës do-while. Anëtarët e
matricës të jepen përmes tastierës.

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
const int m=3;
int i=0,j=0;
int a[m][m];

while (i<m)
{
while(j<m)
{
cout<<"An\x89tari ["<<i<<"][" <<j <<"] :";
cin>>a[i][j];
j++;
}
i++;
j=0;
}

cout<<"\nMatrica e formuar a["<<m <<"]["<<m<<"]\n";

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 61

i=0;j=0;
do
{
do
{
cout<<setw(4)<< a[i][j];
j++;
} while (j<m);

cout << endl;


i++;
j=0;
}while(i<m);

system("Pause");
return 0;
}

96. Të shkruhet programi në C++ për krijimin dhe mbushjen e matricës


A(m,n). Anëtarët e matricës të gjenerohen si numra të rastit nga 0 deri 99
përmes funksionit rand().

#include <iostream>
#include<iomanip>
#include <ctime> //përdoret për srand dhe rand
using namespace std;

int main()
{
const int m=8, n=10;
int matrica[m][n], i=0, j=0, max, s=0;
srand(time(NULL));

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
matrica[i][j]=(rand()%100);
cout<<setw(4)<< matrica[i][j];
s+=matrica[i][j];
}
cout<<endl;
}
cout<<endl
<<"Shuma e anetareve te mtarices s="
<<s
<<endl;

system ("pause");
return 0;
}

97. Të shkruhet programi në C++ për mbushjen e matricës A(m,m), nëse m=6.
Pjesa e brendshme e matricës të mbushet me 0, kurse korniza e matricës të
mbushet me 1.

#include<iostream>
#include<iomanip>
using namespace std;

int main()

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 62

{
const int m=6;
int i=0,j=0,a[m][m];

while(i<m)
{
j=0;
while(j<m)
{
if(i==0||i==m-1||j==0||j==m-1)
a[i][j]=1;
else
a[i][j]=0;
cout<<setw(4)<<a[i][j];
j++;
}
i++;
cout<<endl;
}

system("Pause");
return 0;
}

98. Të formohet matrica katrore a(m,m) përmes shprehjes së mëposhtme, nëse


m=8. Më pas të gjendet shuma absolute e anëtarëve mbi diagonalen kryesore
dhe prodhimi i anëtarëve nën diagonale.

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
const int m=8;
int i,j,a[m][m];
double s=0, p=1;
cout<<"Matrica e formuar a["<<m <<"]["<<m<<"]\n";

for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
if (i==j)
{
a[i][j]=2*i+1;
cout<<setw(4)<<a[i][j];
}
else
if (i<j)
{
a[i][j]=-2;
s=s+abs(a[i][j]);

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 63

cout<<setw(4)<<a[i][j];

}
else
{
a[i][j]=2;
p=p*a[i][j];
cout<<setw(4)<<a[i][j];
}
}
cout<<endl;
}

cout<<"\nShuma absolute e anetareve mbi digonale s=" <<s <<"\n"


<<"Prodhimi i antetareve nen digonale p="<<p<<"\n";

system("Pause");
return 0;
}

99. Të formohet matrica katrore a(m,m) përmes shprehjes së mëposhtme, nëse


m=8. Më pas të gjendet prodhimi i anëtarëve të diagonales kur indekset e
anëtarëve janë tek dhe shuma e anëtarëve kur indekset janë çift.

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
const int m=8;
int i,j,a[m][m];
double s=0, p=1;
cout<<"Matrica e formuar a["<<m <<"]["<<m<<"]\n";

for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
if (i==j)
{
a[i][j]=i+j;
cout<<setw(4)<<a[i][j];

if (i%2==0 && j%2==0)


{
s=s+a[i][j];
}
else
{
p=p*a[i][j];
}
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 64

else
if (i<j)
{
a[i][j]=i;
cout<<setw(4)<<a[i][j];

}
else
{
a[i][j]=i-j;
cout<<setw(4)<<a[i][j];
}
}
cout<<endl;
}

cout<<"\nShuma e anetareve me indeks çift në digonale s=" <<s <<"\n"


<<"Prodhimi i antetareve me indeks tek në digonale p="<<p<<"\n";

system("Pause");
return 0;
}

100. Të formohet matrica C(2*m,2*m) duke i bashkuar matricën A(m,m) dhe


B(m,m) në diagonale (si në pamje). Matrica A të mbushet me 1-sha kurse
matrica B me 5-she. Anëtaret tjerë të jenë zero.

#include <iostream>
#include<iomanip>
using namespace std;

int main()
{
const int m=4;
int F[m][m]={
{1,1,1,1},
{1,1,1,1},
{1,1,1,1},
{1,1,1,1}};
int G[m][m]={
{5,5,5,5},
{5,5,5,5},
{5,5,5,5},
{5,5,5,5}};

int i,j,R[m+m][m+m];

for (i=0;i<m+m;i++)
{
for (j=0;j<m+m;j++)
{
if (i<m)

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 65

if (j<m)
R[i][j]=F[i][j];
else
R[i][j]=0;
else
if (j<m)
R[i][j]=0;
else
R[i][j]=G[i-m][j-m];

cout.width(5);
cout << R[i][j];
}
cout<<endl;
}

system("pause");
return 0;
}

101. Të formohet matrica A(m,m) duke shfrytëzuar vektorin B(m). Vlerat e


anëtarëve të vektorit të vendosen sipas skemës së mëposhtme.

#include <iostream>
using namespace std;

int main()
{
const int m=5;
int i,j,A[m][m],B[m]={1,2,3,4,5};
for (i=0;i<m;i++)
for (j=0;j<m;j++)
if (i==0)
A[i][j]=B[j];
else
A[i][j]=i;
cout<< "Matrica e formuar\n";
for (i=0;i<m;i++)
{
for (j=0;j<m;j++)
{
cout.width(5);
cout << A[i][j];
}
cout << "\n";
}

system("pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 66

102. Të formohet matrica katrore M[m][m]. Vlerat e anëtarëve të mbushen në


mënyrë të rastësishme prej 0-99 duke përdorur funksionin rand(). Më pas të
gjendet anëtari më i madh në secilën shtyllë.

#include <iostream>
#include<iomanip>
using namespace std;

int main()
{
const int m=8;
int matrica[m][m], i=0, j=0;
int max;

for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
matrica[i][j]=(rand()%100);
}
}

for (j = 0; j < m; j++)


{
max = matrica[0][j];

for (i = 1; i < m; i++)


if (max < matrica[i][j])
max = matrica[i][j];

cout << "An‰tari m‰ i madh n‰ shtyll‰n " << j + 1


<< " = " << max << endl;
}

system ("pause");
return 0;
}

103. Të formohet matrica katrore M[m][m]. Vlerat e anëtarëve të mbushen në


mënyrë të rastësishme prej 0-99 duke përdorur funksionin rand(). Më pas të
gjendet anëtari më i madh në secilin rresht.

#include <iostream>
#include<iomanip>
#include <ctime> //përdoret për srand dhe rand
using namespace std;

int main()
{
const int m=8, n=10;
int matrica[m][n], i=0, j=0, max, s=0;
srand(time(NULL));

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
matrica[i][j]=(rand()%100);
cout<<setw(4)<< matrica[i][j];
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 67

cout<<endl;
}
cout<<endl;

for (i = 0; i < m; i++)


{
max = matrica[i][0];
for (j = 1; j < n; j++)
if (max < matrica[i][j])
max = matrica[i][j];
cout<< "An‰tari m‰ i madh n‰ rreshtin "
<< i + 1 << " = "
<< max
<< endl;
}

system ("pause");
return 0;
}

104. Të formohen matrica A(m,m) e cila përmban notat e studentëve. Të


llogaritet nota mesatare e secilit student dhe ajo të ruhet në vektorin
B(m,n).

#include<iostream>
using namespace std;

int main()
{
const int m=4;
float mes =0, B[m];
int A[m][m]={ {10,7,9,10},
{7,10,10,9},
{9,8,9,9},
{9,10,9,8}};
int i,j;

for (i=0;i<m;i++)
{
for (j=0;j<m;j++)
{
mes+=A[i][j];
}
B[i]=mes/m;
mes=0;
}

cout << "Notat mesatare B=[";

for (i=0;i<m;i++)

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 68

{
cout.width(6);
cout << B[i];
}
cout << " ]\n";

system("pause");
return 0;
}

105. Të formohet matrica katrore a(m,m) përmes shprehjes së mëposhtme, nëse


m=8. Më pas të gjendet shuma absolute e anëtarëve mbi diagonalen kryesore
dhe prodhimi i anëtarëve nën diagonale.

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
const int m=8;
int i,j,a[m][m];
double s=0, p=1;
cout<<"Matrica e formuar a["<<m <<"]["<<m<<"]\n";

for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
if (i==j)
{
a[i][j]=2*i+1;
cout<<setw(4)<<a[i][j];
}
else
if (i<j)
{
a[i][j]=-2;
s=s+abs(a[i][j]);
cout<<setw(4)<<a[i][j];

}
else
{
a[i][j]=2;
p=p*a[i][j];
cout<<setw(4)<<a[i][j];
}
}
cout<<endl;
}

cout<<"\nShuma absolute e anetareve mbi digonale s=" <<s <<"\n"

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 69

<<"Prodhimi i antetareve nen digonale p="<<p<<"\n";

system("Pause");
return 0;
}

106. Të formohet matrica katrore a(m,m) përmes shprehjes së mëposhtme, nëse


m=8. Më pas të gjendet prodhimi i anëtarëve të diagonales kur indekset e
anëtarëve janë tek dhe shuma e anëtarëve kur indekset janë çift.

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
const int m=8;
int i,j,a[m][m];
double s=0, p=1;
cout<<"Matrica e formuar a["<<m <<"]["<<m<<"]\n";

for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
if (i==j)
{
a[i][j]=i+j;
cout<<setw(4)<<a[i][j];

if (i%2==0 && j%2==0)


{
s=s+a[i][j];
}
else
{
p=p*a[i][j];
}
}
else
if (i<j)
{
a[i][j]=i;
cout<<setw(4)<<a[i][j];

}
else
{
a[i][j]=i-j;
cout<<setw(4)<<a[i][j];
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 70

}
cout<<endl;
}

cout<<"\nShuma e anetareve me indeks çift në digonale s=" <<s <<"\n"


<<"Prodhimi i antetareve me indeks tek në digonale p="<<p<<"\n";

system("Pause");
return 0;
}

107. Të shkruhet programi për formimin e matricës katrore matrica[m][m], për


m=8. Vlerat në diagonalen kryesore të mbushen nga vektori datelindja[m], i
cili përmban datëlindjen e juaj, kurse vlerat e tjera të mbushen sipas
skemës së mëposhtme (matrica a). Nëse shuma e anëtarëve të vektorit është
numër tek të kryhet rrotullimi për 90° (matrica b), përndryshe të kryhet
rrotullimi për 270° (matrica c). Në fund të printohen të dy matricat,
matrica e formuar dhe ajo e rrotulluar.

#include <iostream>
#include<iomanip>
using namespace std;

int main()
{
const int m=8;
int i,j,k, s =0;
int temp[m][m],mat[m][m];
int dt[m]={2,7,0,2,1,9,9,4};

for (int i = 0; i < m; i++)


{
for (int j = 0; j < m; j++)
{
if (i<j)
{
mat[i][j] =i+j;
}
else
if (i==j)
{
mat[i][j] =dt[i];
s=s+dt[i];
}
else

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 71

if (i>j)
mat[i][j] =i-j;
}
}

cout<<"Shuma e datelindjes =" <<s;

if(s%2==1)
{
k=90;
for(i=0;i<m;i++)
for(j=0;j<m;j++)
temp[i][j]=mat[m-j-1][i];
}
else
{
k=270;
for(i=0;i<m;i++)
for(j=0;j<m;j++)
temp[i][j]=mat[j][m-i-1];

//******* Printimi i matricave


cout<<"\nMatrica e formuar a["<<m <<"]["<<m<<"]\n";
cout<<"--------------------------------------------\n";

for (i=0;i<m;i++)
{
for (j=0;j<m;j++)
cout<<setw(4)<< mat[i][j];
cout << endl;
}

cout<<"\nMatrica a["<<m <<"]["<<m<<"] e rrotulluar p\x89r "


<<k<<" shkall\x89\n";
cout<<"--------------------------------------------\n";
for (i=0;i<m;i++)
{
for (j=0;j<m;j++)
cout<<setw(4)<< temp[i][j];
cout << endl;
}

system("pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 72

Funksionet

108. Të shkruhet funksioni i cili nuk kthen rezultat por e shfaq një mesazh
përshëndetës.

#include <iostream>
using namespace std;

void shfaqMesazhin()
{
cout << "Pershendetje nga funksioni shfaqMesazhin.\n";
}

int main()
{
cout << "Pershendetje nga main.\n";
shfaqMesazhin(); // thirr funksionin shfaqMesazhin
cout << "U kthyem perseri ne funksionin main.\n";

system("pause");
return 0;
}

109. Të modifikohet funksioni i shembullit paraprak dhe funksioni


shfaqMesazhin të thirret 5 herë duke shfrytëzuar unazat.

#include <iostream>
using namespace std;

void shfaqMesazhin()
{
cout << "Pershendetje nga funksioni shfaqMesazhin.\n";
}

int main()
{
cout << "Pershendetje nga main.\n";
for (int numri = 0; numri < 5; numri++)//thirrja e funksionit 5 here
shfaqMesazhin(); // thirr funksionin shfaqMesazhin
cout << "U kthyem perseri ne funksionin main.\n";

system("pause");
return 0;
}

110. Të shkruhet funksioni shfaqVleren i cili si parametër hyrës ka një


numër të tipit int dhe i cili në ekran e shtyp parametrin me mesazhin
“Vlera eshte...”.

#include <iostream>
using namespace std;
void shfaqVleren(int num); // Prototipi i funksionit

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 73

int main()
{
cout << "Numri 5 u dergua si parameter i funksionit.\n";
shfaqVleren(5);
cout << "U ktheva ne main.\n";
return 0;
}

void shfaqVleren(int num)


{
cout << "Vlera eshte " << num << endl;
}

111. Të modifikohet shembulli paraprak dhe funksioni shfaqVleren të thirret


për tre vlera të ndryshme.

#include <iostream>
using namespace std;

void shfaqVleren(int num); // Prototipi i funksionit

int main()
{
cout << "Funksioni po thirret tre here.\n";
shfaqVleren(5);
shfaqVleren(8);
shfaqVleren(10);
cout << "U ktheva ne main.\n";
return 0;
}

void shfaqVleren(int num)


{
cout << "Vlera eshte " << num << endl;
}

112. Të shkruhet funksioni shuma i cili mbledh dy numra të tipit int dhe e
kthen rezultatin e të njëjtit tip.

#include <iostream>
using namespace std;

int shuma(int num1, int num2);

int main()
{
int v1 = 20, v2 = 40,totali;
//thirr funksionin shuma duke i derguar vlerat e v1 dhe v2
//rezultatin e kthyer nga funksioni vendose ne totali
totali = shuma(v1, v2);

// Shfaq shumen e vlerave


cout << "Shuma e " << v1 << " dhe "
<< v2 << " eshte " << totali << endl;

System("pause");
return 0;
}

int shuma(int num1, int num2)

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 74

{
return num1 + num2;
}

113. Të shkruhet programi i cili përmes funksionit permbys e përmbys numrin


e dhënë.

#include <iostream>
using namespace std;

int permbys(int n)
{
int reverse = 0;
while (n != 0)
{
reverse = reverse * 10;
reverse = reverse + n%10;
n = n/10;
}
return reverse;
}

int main()
{
int nr=permbys(123456789);
cout<<"Numri i permbysur eshte "
<<nr
<<endl;

system("pause");
return 0;
}

114. Të shkruhet programi për shtypjen e numrave të plotpjesëtueshëm me


numrin e dhënë. Shtypja të bëhet në 10 shtylla.

#include <iostream>
#include <iomanip>
using namespace std;

void shtyp(int plotpjestuesi, int max)


{
for(int j=1; j<=max; j++)
{
cout << setw(5) << j*plotpjestuesi << " ";
if( j%10 == 0 ) //pas rreshtit të 10 kalo në rresht të ri,
cout << endl;
}
}

int main()
{
int n;
cout << "\nSheno plotpjestuesin: ";
cin >> n;
shtyp(n,200);

system("pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 75

115. Të shkruhet programi i cili përmes funksionit e kontrollon një numër të


dhënë përmes tastierës a është numër i thjeshtë apo jo.

#include <iostream>
using namespace std;

int numer_thjeshte(int numri)


{
int i;
if (numri==1 || numri==2)
{
return 1;
}
else if (numri<1)
{
return 0;
}

if (numri%2 ==0)
{
return 0;
}

for(i=3; i<numri; i=i+2)


{
if (numri%i==0)
{
return 0;
}
}
return 1;
}

int main()
{
int nr, rez;
cout<<"Jep nje numer per te kontrolluar a eshte numer i thjeshte: ";
cin>>nr;

rez=numer_thjeshte(nr);
if (rez==1)
cout<<"Numri "<<nr
<<" eshte numer i thjeshte.\n";
else
cout<<"Numri "<<nr
<<" eshte numer i thjeshte.\n";

system("pause");
return 0;
}

116. Të shkruhet programi për llogaritjen e sipërfaqes së rrethit duke


përdorur funksionin rrethi.

#include <iostream>
using namespace std;

float rrethi(float rrezja)


{

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 76

const float PI = 3.14159F;


return PI* pow(rrezja,2);
}

int main()
{
double rr;
cout << "\nJep rrezen e rrethit: ";
cin >> rr;
cout << "Siperfaqja e rrethit eshte "
<< rrethi(rr)
<< endl<<endl;

system("pause");
return 0;
}

117. Të shkruhet programi i cili përmes funksionit ngritNeFuqi i cili


argumentin e parë e ngrit në fuqi të argumentit të dytë. Funksioni është i
ngjashëm me funksionin pow().

#include <iostream>
using namespace std;

double ngritNeFuqi(double baza, int eksponenti)


{
double rezultati = 1;
for (int i = 0; i < eksponenti; i = i + 1)
{
rezultati = rezultati * baza;
}
return rezultati;
}

int main()
{
double b=4;
int e=3;
cout << b<<"^"<<e
<<" eshte " << ngritNeFuqi(b,e) << endl;

system ("pause");
return 0;
}

118. Të shkruhet programi për llogaritjen e faktorielit (n!) duke përdorur


funksionin faktorieli(int n).

#include <iostream>
using namespace std;

double faktorieli(int n)
{
int i;
double F=1;
for (i=1;i<=n;i++)
F=F*i;
return F;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 77

int main()
{
int n=0;
double fakt;
cout<<"Vlera n = ";
cin>>n;

fakt = faktorieli(n);
cout<< "Faktorieli F= "<< fakt<<"\n";
system("pause");
return 0;
}

119. Të shkruhet programi i cili shkronjën e vogël e kthen në shkronjë të


madhe. Kjo të realizohet duke përdorur operatorin e kushtëzuar ? dhe
funksionin inline.

#include <iostream>
using namespace std;

inline char shkronja_madhe( char a )


{
return ((a >= 'a' && a <= 'z') ? a-('a'-'A') : a );
}

int main()
{
cout<<("Shëno nje shkronje: ");
char shkronja;
cin>> shkronja;
shkronja= shkronja_madhe( shkronja);
cout<<"Shkronja e madhe: "
<<shkronja
<<endl;

system("pause");
return 0;
}

120. Të shkruhet programi për shtypjen e shkronjave në formë trekëndëshi si


në pamjen e mëposhtme. Numri i rreshtave të jetë parametër hyrës për
funksionin void shtyp_shkronja (int rreshta).

#include <iostream>
using namespace std;

void main()
{
int i,j;
char input,temp='A';
cout<< "Sheno shkronjen e fundit per shtypje: ";
cin>>input;

for(i=1;i<=(input-'A'+1);++i)

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 78

{
for(j=1;j<=i;++j)
cout<<temp;
++temp;
cout<<"\n";
}
system("pause");
}

121. Të shkruhet programi i cili përmban funksionin që kthen vlerën


true/false për kontrollin e vitit të dhënë nëse është vit i brishtë ose
jo.

#include <iostream>
using namespace std;

bool viti_brishte(int viti);

int main()
{
int viti;
cout<<"Sheno vitin per ta kontrolluar a eshte vit i brishte: ";
cin>>viti;
bool gjendja=viti_brishte(viti);
if (gjendja==true)
cout<<"Viti "<<viti<<" eshte vit i brishte\n";
else
cout<<"Viti "<<viti<<" nuk eshte vit i brishte\n";

system("pause");
return 0;
}

bool viti_brishte(int viti)


{
if ( viti%4 == 0 )
return true;
else
return false;
}

122. Të shkruhet programi i cili përmban funksionin rekursiv përmes të cilit


llogaritet faktorieli i numrit n!.

#include <iostream>
using namespace std;

int faktorieli(int numri);


int main()
{
int n;
cout<<"Jep numrin n= ";
cin>>n;
cout<<"Faktorieli i "<<n
<<"! = " <<faktorieli(n)
<<endl;
system("pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 79

int faktorieli(int numri)


{
if (numri == 0)
return 1;
// thirrja rekurzive
return numri * faktorieli(numri - 1);
}

123. Të shkruhet programi i cili përmban dy konstante me emrin studenta.


Njëra është konstante globale, kurse tjetra është konstante brenda
funksionit fiek. Të shtypet vlera e konstantës në funksionin main dhe në
funksionin fiek. Kontrolloni cila vlerë po shtypet në njërin dhe në
tjetrin rast.

#include <iostream>
using namespace std;

void fiek();
const int studenta = 500; // konstante globale

int main()
{
cout << "Ne main jane " << studenta << " studente.\n";
fiek();

system("pause");
return 0;
}

void fiek()
{
const int studenta = 2000;
cout << "Ne fiek jane " << studenta << " studente.\n";
}

124. Të shkruhet programi i cili përmes funksionit shuma llogarit shumën,


prodhimin dhe herësin e numrave a dhe b. Prodhimi dhe herësi të ruhen në
variablat globale, prodhimi respektivisht heresi.

#include <iostream>
using namespace std;

float prodhimi=0.0;
float heresi=0.0;

float shuma(float a, float b)


{
prodhimi=a*b;
heresi=a/b;
return a+b;
}

int main()
{
cout<<"Shuma e a+b= " <<shuma(12,5);
cout<<"\nProdhimi i a*b= " <<prodhimi;
cout<<"\nHeresi i a/b= " <<heresi<<endl;

system("pause");

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 80

return 0;
}

125. Të shkruhet funksioni për shkëmbimin e verave të dy variablave duke


shfrytëzuar një variabël ndihmëse.

#include <iostream>
using namespace std;

void shkembe(int &a, int &b)


{
int t = a;
a = b;
b = t;
}

int main()
{
int q = 3, r = 5;

cout<< "Vlerat para shkembimit \nq = " << q


<< "\nr = "<<r<<endl<<endl;
shkembe(q, r);
cout << "Vlerat pas shkembimit\n"
<< "q = " << q
<< "\nr = " << r << endl;

system("pause");
return 0;
}

126. Të shkruhet funksioni për shkëmbimin e verave të dy variablave duke mos


shfrytëzuar variabël ndihmëse.

#include <iostream>
using namespace std;

void shkembe(int &x, int &y)


{
x =x- y;
y =y+ x; // y merr vlerën origjinale të x
x = y - x; // x merr vlerën origjinale të y
}

int main()
{
int q = 3, r = 5;

cout<< "Vlerat para shkembimit \nq = " << q


<< "\nr = "<<r<<endl<<endl;
shkembe(q, r);
cout << "Vlerat pas shkembimit\n"
<< "q = " << q
<< "\nr = " << r << endl;

system("pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 81

127. Të krijohet vektori A(m) duke shfrytëzuar funksionin krijo_vektor.


Anëtarët e vektorit të mbushen sipas shprehjes së 2*i+1. Më pas të shtypen
anëtarët e vektorit të krijuar.

#include <iostream>
using namespace std;
const int m=5;

void krijo_vektor(int v[], int m)


{
for (int i = 0; i < m; i++)
v[i] =2*i+1;
}

int main()
{
int A[m];
krijo_vektor(A,m);
cout<<"Vektori i krijuar: "
<<"A["<<m<<"] = {";
for (int i=0;i<m;i++)
{
cout<<A[i];
if (i<m-1)
cout<<", ";
}
cout << "}\n";

system("pause");
return 0;
}

128. Të krijohet matrica A(m,n) duke shfrytëzuar funksionin krijo_matrice.


Anëtarët e matricës të mbushen sipas shprehjes së mëposhtme dhe më pas të
shtypen anëtarët e matricës së krijuar.

[ ][ ] {

#include <iostream>
using namespace std;
const int m=5, n=6;

void krijo_matrice(int A[m][n])


{
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
{
if(i<j)
A[i][j] =i+j;
else if (i==j)
A[i][j] =0;
else
A[i][j] =i-j;
}
}

void printo_matrice(int M[m][n])

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 82

{
cout<<"Matrica e krijuar\n";
for (int i=0;i<m;i++)
{
for (int j=0;j<m;j++)
{
cout << M[i][j];
cout.width(5);
}
cout << "\n";
}
}

int main()
{
int A[m][n];
krijo_matrice(A);
printo_matrice(A);

system("pause");
return 0;
}

129. Të shkruhet programi për mbushjen e vektorit me numra të rastit nga 1


deri në 100. Vektori të sortohet dhe më pas të shtypen anëtarët e
vektorit të pasortuar dhe të sortuar. Mbushja, sortimi dhe shtypja të
realizohen duke shfrytëzuar funksionet.

#include <iostream>
#include <ctime>
using namespace std;

const int madh=8;


int printimi=1;
void sort(int A[])
{
int t;
for (int i=0;i<madh-1;i++)
for (int j=i+1;j<madh;j++)
{
if (A[i]>A[j])
{
t=A[i];
A[i]=A[j];
A[j]=t;
}
}
}

void printo( int A[] )


{
cout<<"Vektori : "
<<printimi
<<" A["<<madh<<"] = {";
for (int i=0;i<madh;i++)
{
cout<<A[i];
if (i<madh-1)
cout<<", ";
}
cout << "}\n";

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 83

printimi++;
}

void mbush_vektor(int v[], int m)


{
srand(time(NULL));
for (int i = 0; i < m; i++)
v[i] =rand()%100+1;
printo(v);
}

int main()
{
int A[madh];
mbush_vektor(A,madh);
sort(A);
printo(A);

system("pause");
return 0;
}

130. Të shkruhet programi i cili përmban skedarët:


a. matematika.cpp – në të cilin janë të definuara funksionet mbledh,
zbrit, shumezo dhe pjeseto.
b. matematika.h në të cilin janë të definuara prototipat e funksioneve
të cekura në pikën a.
c. operimet.cpp – në të cilin thirret funksionet për mbledhjen,
zbritjen, shumëzimin dhe pjesëtimit të dy numrave

//matematika.cpp
int mbledh(int x, int y)
{
return x + y;
}
int zbrit(int x, int y)
{
return x - y;
}
int shumezo(int x, int y)
{
return x * y;
}
float pjeseto(int x, int y)
{
return (float)x/y;
}

//matematika.h
int mbledh(int x, int y);
int zbrit(int x, int y);
int shumezo(int x, int y);
float pjeseto(int x, int y);

//operimet.cpp
#include <iostream>
#include "mat.h"
using namespace std;

int main()
{

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 84

int a=15,b=4;
cout << "Shuma e \t"<<a <<" + "<<b
<<" = "<< mbledh(a, b) << endl;
cout << "Shuma e \t"<<a <<" - "<<b
<<" = "<< zbrit(a, b) << endl;
cout << "Prodhimi i \t"<<a <<" * "<<b
<<" = "<< shumezo(a, b) << endl;
cout << "Heresi i \t"<<a <<" / "<<b
<<" = "<< pjeseto(a, b) << endl;
system("pause");
return 0;
}

131. Të definohet makroja e funksionit llogaritja e cila llogarit shprehjen


e mëposhtme, nëse dihet vlera e x-it.

{

#include<iostream>
using namespace std;
#define llogaritjaY(x) ((x>0) ? (6*x-2):(2*x+6))

int main()
{
double y=0, x=5;
y=llogaritjaY(x);
cout<< "\nVlera e llogaritur per x="
<<x
<<" eshte y="
<<y
<< "\n\n";
system("pause");
return 0;
}

132. Të shkruhet programi për llogaritjen e shumës së numrave nga 1 deri në


n. Pjesa e funksionit për llogaritjen e shumës të shkruhet në skedar
teksti (.txt) dhe më pas të përfshihet në program përmes direktivës
#include.

//shuma_1_n.txt
int i;
double S=0;
for (i=1;i<=n;i++)
S=S+i;
cout<<"\nShuma e numrave prej 1 deri "
<<n
<<" eshte "
<<S
<<endl
<<endl;

#include <iostream>
using namespace std;

int main()
{
int n=10;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 85

#include "shuma_1_n.txt";
system("pause");
return 0;
}

133. Nëse kompania e energjisë elektrike i faturon konsumatorët sipas


tarifave vijuese:
 9 centë/kWh për 300 kilovatët e parë
 8 centë/kWh për 300 kilovatët e tjerë (deri në 600kWh)
 6 centë/kWh për 400 kilovatët e tjerë (deri në 1000kWh)
 4 centë/kWh për të gjithë kilovatët mbi 1000kWh.

Të shkruhet programi i cili llogarit koston për energjinë e shpenzuar për


secilin konsumator. Programi duhet të përmbajë:

 funksionin për gjenerimin e 10 numrave të rastit (0 deri në 2000) për


kilovatët e shpenzuar nga secili konsumator.
 funksionin për llogaritjen e kostos për kilovatët e shpenzuar nga
secili konsumator.
 funksionin për mbushjen e tabelës (matricë 10x3) e cila ruan ID e
konsumatorit, kWh dhe koston e llogaritur në bazë të kilovatëve të
shpenzuar.
 funksionin për shtypjen e tabelës e cila tregon konsumatorin,
kilovatët dhe koston për secilin konsumator si dhe totalin e kilovatëve
dhe kostos për të gjithë konsumatorët.

#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;

const float tarifa1=0.09;


const float tarifa2=0.08;
const float tarifa3=0.06;
const float tarifa4=0.04;

double kosto; //kostoja per kwh


double totali_kosto = 0; //totali per te gjithe konsumatoret
int totali_kwh = 0; //numri i KWH per te gjithe konsumatoret

int kwh=0; //kilovatet per konsumatorin


int numri=0;

const int m=10,n=3;


double tabela[m][n];

double llogarit_shpenzimet(int konsumatori,int kwhp)

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 86

{
if(kwhp < 300)
{
kosto = ((kwhp) * (tarifa1));
}
else if(kwhp < 600)
{
kosto = (300 * tarifa1) + (kwhp -300) *tarifa2;
}
else if(kwhp < 1000)
{
kosto = (300 * tarifa1) + ((300) * (tarifa2)) + ((kwhp - 600) *
(tarifa3));
}
else if(kwhp > 1000)
{
kosto = ((300) * (tarifa1)) + ((300) * (tarifa2)) + ((400) *
(tarifa3)) + ((kwhp -1000) * (tarifa4));
}
return kosto;
}

void mbush_tabelen(int konsumatori, double kwh, double kosto)


{
tabela[numri][0]=konsumatori;
tabela[numri][1]=kwh;
tabela[numri][2]=kosto;
numri++;
}

void printo_tabelen()
{
cout<<"\n************************************\n";
cout.width(9);
cout<<"Kons";
cout.width(9);
cout<<"kWh";
cout.width(9);
cout<<"Kosto";
cout<<"\n------------------------------------\n";
for (int i=0;i<m;i++)
{
for (int j=0;j<n;j++)
{
if (j==0 || j==1)
{
cout.width(9);
cout << noshowpoint << setprecision(0);
cout << tabela[i][j];
}
else
{
cout.width(9);
cout << fixed << showpoint << setprecision(2);
cout << tabela[i][j];
}
}
totali_kosto=totali_kosto+tabela[i][2];
totali_kwh=totali_kwh+tabela[i][1];
cout << "\n";
}
cout<<"\n------------------------------------\n";
cout.width(18);

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 87

cout << fixed << showpoint << setprecision(2);


cout<<totali_kwh;
cout.width(9);
cout << fixed << showpoint << setprecision(2);
cout<<totali_kosto;
}

int opsioni;
void paneli()
{
cout << "\n************************************"
<< "\n\tPANELI KOMANDUES\n"
<< "------------------------------------"
<< "\n[1] Llogarit energjine e shpenzuar. "
<< "\n[2] Shtyp tabelen e konsumatoreve. "
<< "\n[3] Mbyll aplikacionin "
<< "\n------------------------------------" ;

cout << "\n\nZgjidh nj‰ opsion nga 1 deri n‰ 3: ";


cin >> opsioni;

switch (opsioni)
{
case 1:
srand(time(NULL));
for (int i=0;i<m;i++)
{
kwh=rand()%2000;
llogarit_shpenzimet(i+1,kwh);
mbush_tabelen(i+1,kwh,kosto);
}

paneli();
break;
case 2:
printo_tabelen();
paneli();
break;
case 3:
exit(0);
break;
default:
cout << "\n\t\tDuhet t‰ zgjedhni nj‰ num‰r nga 1 deri n‰ 3\n\n";
paneli();
}
}

int main()
{
paneli();
system("pause");
return (0);
}

134. Të shkruhet funksioni palindrome() i cili gjen numrat palindrome në një


rang të caktuar. Numrat palindrome janë numrat të cilët edhe kur të
rrotullohen mbesin përsëri të njëjtë(p.sh 121, 676,555...).

#include<iostream>
using namespace std;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 88

void palindrome(int min, int max)


{
int num,r,sum,temp;

cout << "Numrat palindrome prej "<<min <<" deri n‰" <<max <<" jan‰: ";
for(num=min;num<=max;num++)
{
temp=num;
sum=0;

while(temp){
r=temp%10;
temp=temp/10;
sum=sum*10+r;
}
if(num==sum)
cout << num << " ";
}
cout<<endl;
}

int main()
{
int min, max;
cout << "Numrat palindrome jan‰ numrat t‰ \ncil‰t edhe kur t‰ rrotullohen "
<<"\nmbesin p‰rseri t‰ nj‰jt‰\n\n";
cout << "Gjej numrat palindrome prej min - max\n";
cout << "Jep numrin p‰r kufirin e posht‰m: ";
cin >> min;
cout << "Jep numrin p‰r kufirin e lart‰: ";
cin >> max;

palindrome(min,max);
system("pause");
return 0;
}

135. Të shkruhet funksioni cilindri() i cili llogarit sipërfaqen dhe


vëllimin e cilindrit nëse dihet se sipërfaqja është s ( ) dhe
vëllimi )

#include<iostream>
using namespace std;

double vellimi;
const double pi=3.14159265359;

double cilindri(float rrezja, float lartesia)


{
double siperfaqja;

siperfaqja = 2 * pi * rrezja * (rrezja + lartesia);


vellimi = pi * rrezja * rrezja * lartesia; //vellimi është ruajtur në variabël
globale
return siperfaqja;
}

int main()
{
float r,l;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 89

double sip;
cout<<"Sheno rrezen dhe lartesin‰ \np‰r t‰ llogaritur siperfaqen dhe v‰llimin e
cilindrit: " ;
cin>>r>>l;
sip=cilindri(r, l);
cout<<"Siperfaqja e cilindrit s="<<sip
<<"\nV‰llimi i cilindrit v="<<vellimi
<<endl;

system("pause");
return 0;
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 90

Shembuj vetë-testues

1. Përcakto përparësinë e operatorëve për shprehjet e mëposhtme

a) 16 * 4 / 2 * 3
b) 20 + 4 * 2 / 3 - 1
c) 4 / 2 + 1 -6 / 2
d) (n + 2) * (++n) + 5

2. Vlerëso shprehjet e mëposhtme kur është e mundshme. % është pjesëtimi


modular.

a) 25 / 3
b) 20 - 12 / 4 * 2
c) 32 % 7
d) 3 - 5 % 7
e) 18.0 / 4
f) 28 - 5 / 2.0
g) 17 + 5 % 2 - 3
h) 15.0 + 3.0 * 2.0 / 5.0

3. Vlerëso shprehjet e mëposhtme kur është e mundshme nëse x=5, y=6, z=4 dhe
f=3.5. % është pjesëtimi modular.

a) (x + z) % y
b) (x + y) % w
c) (y + f) % x
d) (x + y) *f
e) (x % y) % z
f) (y % z) % x
g) (x * z) % y
h) ((x * y) *f) *z

4. Nëse nga shprehjet e mëposhtme janë të sakta:

int num1, num2, newNum;


double x, y;

a) num1 = 35;
b) newNum = num1 – num2;
c) num1 = 5; num2 = 2 + num1; num1 = num2 / 3;
d) num1 * num2 = newNum;
e) x = 12 * num1 - 15.3;
f) num1 * 2 = newNum + num2;
g) x / y = x * y;

5. Cilat variabla janë deklaruar saktë?

a) n = 12;
b) char chr = ;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 91

c) int nje = 5, dy;


d) double x, y, z;

6. Komandat para-procesorike fillojnë me simbolin:

a) *
b) #
c) $
d) !
e) Asnjërën

7. Të gjenden vlerat e shprehjeve:


a) ( ) ( ) ( )
b) ( ) ( )
c) (( ) ( ) ( ( )))

8. Të shkruhet programi për shtypjen e fjalës C++ si në pamjen e mëposhtme

CCCCCCCCC ++ ++
CC ++ ++
CC ++++++++++++++ +++++++++++++++
CC ++++++++++++++ +++++++++++++++
CC ++ ++
CCCCCCCCC ++ ++

9. Gjej vlerat e shprehjeve


a. pow(4,2);
b. sqrt(25.0);
c. abs(-3);

10. Konverto shprehjet matematikore ne C++


a. √( )
b. √
c.
d.

11. Ligji i Njutonit thotë që forca F midis dy trupave M1 dhe M2 është

( )

ku k është konstanta e gravitetit dhe d është distanca ndërmjet


trupave. Vlera e përafërt e konstantes k është 6.67 x 10-11 Nm2/kg2.
Të shkruhet programi për llogaritjen e forcës, nëse dihen masat e
trupave dhe distanca në mes tyre.

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 92

12. Nëse numri i shtypur është 6, sa do të jetë vlera e a-së pas


ekzekutimit të kodit?

cin >> a;
if (a > 0)
switch (a)
{
case 1:
a = a + 3;
case 3:
a++;
break;
case 6:
a = a + 6;
case 8:
a = a * 8;
break;
default:
a--;
}
else
a = a + 2;

13. Çka do të shtypet pas ekzekutimit të kodit?

int num = 1;
while (num < 10)
{
cout << num << " ";
num = num + 2;
}
cout << endl;

14. Çka do të shtypet pas ekzekutimit të kodit?

int x = 19683;
int i;
int y = 0;
for (i = x; i >= 1; i = i / 3)
y++;
cout << "x = " << x << ", y = " << y << endl;

15. Në deklarimin double paga[10]; identifiko:

a. Emrin e vektorit ______________________________________________


b. Madhësinë e vektorit __________________________________________
c. Tipin e të dhënave ____________________________________________
d. Rangun e vlerave për indekset ______________________________

16. Përcakto cilat deklarime të vektorëve janë të sakta. Nëse nuk janë të
sakta, pse nuk janë?

a. int list55; __________________________________________________________________


b. int vektor; __________________________________________________________________
c. double list[m]; ______________________________________________________________

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 93

d. int test[-15]; _______________________________________________________________


e. double sales[5.5]; ___________________________________________________________

17. Përcakto cilat deklarime të vektorëve janë të sakta. Nëse nuk janë të
sakta, pse nuk janë?

a. int numra[5]={0,0,1,1,2};_____________________________________________________
b. int vite[4]= {2011,2012,2013,2014,2015,2016};_________________________________
c. double numra[5]={2,2.5,,4,8.6,9}; ____________________________________________

18. Deklaro vektorët

a. mosha të tipit int me 10 anëtarë dhe inicio me vlerat 2, 7, 9, 10, 5, 18,


21, 22, 25 dhe32.
b. vlerat të tipit double me 5 anëtarë dhe inicio me vlerat 12.4, 4.33, 2.05,
18.19 dhe 25.25.
c. alfa të tipit char me 4 anëtarë dhe inicio me vlerat 'F', 'I', 'E', dhe
'K'

19. Çka do të shtypet në ekran pas ekzekutimit të kodit të mëposhtëm:

double a[3] = {1.1, 2.2, 3.3};


cout << a[0] << " " << a[1] << " " << a[2] << endl;
a[1] = a[2];
cout << a[0] << " " << a[1] << " " << a[2] << endl;

20. Çka do të shtypet në ekran pas ekzekutimit të kodit të mëposhtëm:

int x = 1;
cout << x << endl;
{
cout << x << endl;
int x = 2;
cout << x << endl;
{
cout << x << endl;
int x = 3;
cout << x << endl;
}
cout << x << endl;
}
cout << x << endl;
}

21. Çka do të shtypet në ekran pas ekzekutimit të kodit të mëposhtëm:

int i, temp[10];
for (i = 0; i < 10; i++)
temp[i] = 2*i;
for (i = 0; i < 10; i++)
cout << temp[i] << " ";
cout << endl;
for (i = 0; i < 10; i = i + 2)
cout << temp[i] << " ";

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 94

22. Shkruani kodin në C++ për:

a. Deklarimin e vektorit alfa me 15 anëtarë të tipit int.


b. Shtyp vlerat 10 anëtarëve të parë të vektorit alfa.
c. Vendos vlerën e anëtarit të pestë të vektorit në 10.
d. Vendos vlerën e anëtarit të 10 si shumë e vlerave të anëtarit të 12 dhe
13.

23. Supozoni që lista është vektor me 5 anëtarë të tipit int. Çka do të


ruhet në lista pas ekzekutimit të kodit vijues?

for (int i = 0; i < 5; i++)


{
lista[i] = 2 * i + 5;
if (i % 2 == 0)
lista[i] = lista[i] - 3;
}

24. Shkruani programin në C++ dhe deklaroni një vektor me 50 anëtarë të


tipit double. 25 anëtaret e parë të mbushen me katrorin e indekseve, kurse
25 anëtarët e tjerë të mbushen me kubin e indekseve. Shtypja e vektorit të
bëhet në 10 shtylla.

25. Në deklarimin double rezultati[10][10]; identifiko:


a. Emrin e fushës (matrices)___________________________________
b. Madhësinë e fushës (rendi) _________________________________
c. Tipin e të dhënave _________________________________________
d. Rangun e vlerave për indekset ______________________________

26. A mund të deklarohet një vektor si në kodin e mëposhtëm?

int madhesia;
cout << "Sheno madhesine e vektorit: ";
cin >> madhesia;
cout << endl;
int lista[madhesia];

27. Deklaro një fushë dy dimensionale (matricë) të tipit int e cila ka 20


rreshta dhe 10 shtylla.

28. Sa elemente ka matrica e deklaruar si në vijim: double shitjet[5][4];

29. A paraqet prototip të funksionit apo thirrje të funksionit rreshti i


mëposhtëm?

totali();

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 95

30. A paraqet prototip të funksionit apo thirrje të funksionit rreshti i


mëposhtëm?

void rezultati();

31. Cili prototip është i shkruar saktë?


a. void numri(double);
b. numri(10.55);

32. Sa vlera mund të kthejë një funksion në C++?


a. 1
b. 2
c. Shumë
d. Asnjë

33. Nëse funksioni nuk kthen vlerë duhet të përdoret fjala ________ përpara
emrit të funksionit (si tip kthyes i funksionit).

34. Vlerat që dërgohen tek funksionet quhen _____________________________.

35. Kur funksioni merr më shumë se një parametër, a ka rëndësi renditja e


tyre gjatë thirrjes së funksionit? Po/Jo.

36. Si kthehet vlera nga funksioni. Cila fjalë përdoret? _______________.

37. A mundet funksioni të ketë variabël me emrin e njëjtë sikurse variabla


globale? Po/Jo.

38. Gjej gabimet në funksionin e mëposhtëm.

void totali(int v1, v2, v3)


{
return v1 + v2 + v3;
}

39. Gjej gabimet në funksionin e mëposhtëm.

double mesatarja(int v1, int v2, int v3)


{
double average;
average = v1 + v2 + v3 / 3;
}

40. Çka do të shtypet në ekran pas ekzekutimit të kodit të mëposhtëm, nëse


do jepni numrin 10?

#include <iostream>
using namespace std;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 96

void funk1()
{
cout << "funksioni I\n";
}

void funk2()
{
cout << "Funksioni II\n";
}
int main()
{
int numri;
cout << "Shtyp nje numer: ";
cin >> numri;

if (numri < 10)


{
funk1();
funk2();
}
else
{
funk2();
funk1();
}
return 0;
}

41. Çka do të shtypet në ekran pas ekzekutimit të kodit të mëposhtëm?

int vlerat[5], i;
for (i = 0; i < 5; i++)
vlerat[i] = i + 1;
for (i = 0; i < 5; i++)
cout << vlerat[i] << endl;

42. Çka do të shtypet në ekran pas ekzekutimit të kodit të mëposhtëm?

#include <iostream>
using namespace std;
char krahaso( int arg1, int arg2);

int main( )
{
cout << krahaso(10, 9) << "ot\n";
system("pause");
return 0;
}

char krahaso( int arg1, int arg2)


{
if (arg1 >= arg2)
return 's';
else
return 'k';
}

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 97

43. Shkruaj prototipin e funksionit dhe definimin e tij i cili merr tre
parametra (argumente) int dhe kthen si rezultat shumën e tyre.

44. Gjej gabimet në funksionin e mëposhtëm:

void total(int value1, value2, value3)


{
return value1 + value2 + value3;
}

45. Shkruaj deklarimin e dhe definimin e funksionit i cili merr një


parametër të tipit double. Funksionin duhet të kthej 'P' nëse parametri
është pozitiv dhe 'N' nëse parametri është negativ.

46. Të shkruhet funksionin void i cili ka tre parametra të tipit int dhe i
cili shtyp në ekran prodhimin e tre parametrave.

47. Të shkruhet funksioni i cili ka një parametër të tipit char dhe i cili
kthen true nëse parametri është numër, dhe false nëse parametri nuk është
numër.

48. Supozoni se funksioni funksioni1 e ka një variabël të deklaruar


përbrenda tij me emrin shuma, por edhe funksioni2 e ka të deklaruar
variablen me të njëjtin emër shuma.

a. A do të kompilohet programi? Po/Jo


b. A do të ekzekutohet programi? Po/Jo

49. Nëse një variabël përdoret tek një funksion, ku duhet të deklarohet
ajo?

a. Në të njëjtin funksion
b. Në funksionin main
c. Në çdo pjesë të kodit

50. Çka do të shtypet në ekran pas ekzekutimit të kodit të mëposhtëm:

#include <iostream>
using namespace std;

void funksioni( int& x, int y, int& z);

int main( )
{
int a, b, c;
a = 10;
b = 20;
c = 30;
funksioni(a, b, c);
cout << a << " " << b << " " << c << endl;

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 98

return 0;
}

void funksioni( int &x, int y, int &z)


{
cout << x << " " << y << " " << z << endl;
x = 1;
y = 2;
z = 3;
cout << x << " " << y << " " << z << endl;
}

51. Duke pasur parasysh funksionin vijues:

void trefishi( int &n)


{
n = 3 * n;
}

Cili nga variantet e mëposhtme është i pranueshëm për thirrjen e funksionit?


int a[3] = {4, 5, 6}, numri = 2;

a. trefishi(a[2]);
b. trefishi(a[3]);
c. trefishi(a[numri]);
d. trefishi(a);
e. trefishi(numri);

52. A do të ndodh pjesëtimi me zero në pjesën e mëposhtme të funksionit.

j = -1;
if ((j > 0) && (1/(j + 1) > 10))
cout << i << endl;

53. Të kthehet kjo pjesë e unazës nga unaza while në unazën for.

int i = 1;
while(i <= 10)
{
if (i < 5 && i != 2)
cout << 'X';
i++;
}

54. Nëse e konsideroni deklarimin int matrica[3][3]; çka do të ruhet në


fushën numerike pas ekzekutimit:

for (i = 0; i < 3; i++)


for (j = 0; j < 3; j++)
matrica[i][j] = 0;

55. Nëse e konsideroni deklarimin int matrica[3][3]; çka do të ruhet në


fushën numerike pas ekzekutimit:

for (i = 0; i < 3; i++)

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 99

for (j = 0; j < 3; j++)


matrica[i][j] =i+j;

56. Nëse kemi një buxhet prej 500 Eurosh dhe duhet të blejmë lapsa të cilët
kushtojnë nga 1 Euro, çanta të cilat kushtojnë nga 10 Euro dhe tavolina të
cilat kushtojnë nga 50. Të shkruhet programi i cili llogarit se sa lapsa,
sa çanta dhe sa tavolina duhet të blejmë në menyrë që shuma e tyre të jetë
500Euro.

57. Të shkruhet programi për konvertimin e numrit nga sistemi decimal në


sistemin oktal.

58. Të shkruhet programi për konvertimin e numrit nga sistemi binar në


sistemin decimal.

59. Të shkruhet programi për konvertimin e numrave nga një sistem në


sistemin tjetër (binar, octal, decimal dhe heksadecimal). Programi të ketë
mundësinë e zgjedhjes së kahjes së konvertimit

60. Të shkruhet funksioni me një parametër të tipit int i cili kontrollon


nëse numri i dërguar si parametër është numër palindrome.

61. Të shkruhet programi i cili gjeneron serinë Fibonati për m anëtarë.


Seria është Fibonati kur shuma e dy anëtarëve paraprak është e barabartë
me anëtarin e ri Fn = Fn-2 + Fn-1 (p.sh 0 1 1 2 3 5 8 13 21...) Numrat e
anëtarëve të gjeneruar të ruhen në një vektor me madhësi m dhe më pas të
shtypen.

62. Të shkruhet programi i cili formon një matricë të rendit 3x3 dhe e
mbush me numra të rastit nga 0-20. Për matricën e formuar të gjendet
determinanta.

63. Të shkruhet programi i cili i shkëmben vlerat e dy vektorëve të formuar


dhe iniciuar me vlera të rastit. D.m.th vlerat e vektorit A të ruhen të
vektori B dhe anasjelltas.

64. Të shkruhet programi i cili i gjen numrat e fortë (të ashtuquajtur


strong) në një rang të caktuar. Numrat e fortë janë ata numra për të cilët
shuma e faktorielit të secilës shifër është e barabartë me vetëveten(p.sh
1!+4!+5!=1+24+120=145).

65. Të shkruhet programi i cili llogarit rrënjët e ekuacionit kuadratik



ax2+bx+c=0. Rrënjët janë .

Vehbi Neziri
Gjuhë programuese: Përmbledhje detyrash në C++ 100

Vehbi Neziri

View publication stats

You might also like