Programim 5

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 23

Të llogaritet sa numra çift dhe sa numra tek lexohen gjatë leximit të n numrave

nga tastiera.
int main( ) {
int i,n,numri,tek,cift;
cout << "n: ";
cin >> n;
for(tek=cift=0, i=1; i<=n; i++) {
cout << "n" << i << ": ";
cin >> numri;
if(numri%2==0) cift++;
else tek++;
}
cout << "cift=" << cift << " tek="<< tek << endl;
return 0;
}

1
Kapërcimi i komandave brenda unazës FOR
(Continue)
Shembull 1. Shuma e numrave, katrorëve dhe kubeve të numrave natyrorë mes 1
dhe n, pa i përfshirë numrat 3 dhe 7. (fq.222)

int main() {
int i,n,a,b,c;
cout << "n: ";
cin >> n;
cout << " Numri a b c \n";
for(a=b=c=0, i=1; i<=n; i++) {
if(i==3 || i==7) continue;
a+=i; b+=i*i; c+=i*i*i;
cout << setw(5) << i << setw(7) << a
<< setw(7) << b << setw(7) << c << endl;
}
return 0;
}

2
Shembull 2. Të llogaritet funksioni g për vlera të variablës k mes 1dhe m.
x,m,n – variabla hyrëse. (fq.225) n 1
g  x2  (2i  k )
i 1
int main() { ( i  2,5)
int i,k,m,n,S;
double x,g;
cout << "x m n: ";
cin >> x >> m >> n;
for(k=1; k<=m; k++) {
cout << "k=" << k << " i= ";
for(S=0, i=1; i<=n+1; i++)
if(i==2 || i==5) continue;
else {cout << i << " "; S+=2*i+k;}
g=x+2*S;
cout << " g=" << g << endl;
}
return 0;
}

3
Shembull 2a. Të llogaritet funksioni g për vlera të variablës k mes 1dhe m,
pa vlerat 3 dhe 4. n 1
x,m,n – variabla hyrëse (fq.226) g  x2  i 1
(2i  k )
( i  2,5)
int main() {
int i,k,m,n,S;
double x,g;
cout << "x m n: ";
cin >> x >> m >> n;
for(k=1; k<=m; k++) {
if(k==3 || k==4) continue;
cout << "k=" << k << " i= ";
for(S=0, i=1; i<=n+1; i++)
if(i==2 || i==5) continue;
else {cout << i << " "; S+=2*i+k;}
g=x+2*S;
cout << " g=" << g << endl;
}
return 0;
}

4
Dalje nga unaza FOR me komandën Break
n 1
 4 
Shembull 1. Të llogaritet vlera e funksionit: y  2 x  3 sin(2 x)  
k 2  k  x
x,n – variabla hyrëse

int main() {
int k,n,t=1;
double x,y,S;
cout << "x n: ";
cin >> x >> n;
for(S=0, k=2; k<=n+1; k++) {
if(k-x==0){cout << "Pjestim me zero\n"; t=0; break;}
else S=S+(sin(2*x)-4/(k-x));
}
if(t==1) {y=2*x+3*S; cout << "y=" << y << endl;}
return 0;

5
Komanda WHILE

while(kushti) komanda; while(kushti){komanda1;komanda2;…komandaN;}

while(kushti) while(kushti){
komanda; komanda1;
komanda2;

komandaN;
}
Jo
Kushti
Jo
Kushti Po
 Komandat e ciklit
Po ekzekutohen derisa është i komanda1
komanda; plotësuar kushti
...
 Mund të mos ekzekutohet
asnjë cikël nëse nuk është i
komandaN
plotësuar kushti.

6
i=fillim;
while(i<=fund){
blloku;
i=i+hapi;
}

PARAMETRA TË UNAZËS:
i=fillim;
i – variabla e unazës.

Jo fillim – vlera fillestare variablës i.


i<=fund
Po fund – vlera përfundimtare e variablës i.
blloku
hapi – hapi me të cilin ndryshohet variabla i.
i=i+hapi;
blloku – komandat të përfshira brenda unazës.

7
Shembull 1. Të llogaritet shuma e numrave natyrorë mes 1 dhe n (n<100) me
komandën while.

#include <iostream> Shembuj daljesh


using namespace std;
Dalje 1
int main() { n: 5
int n,i=1,S=0; S=15
cout << "n: ";
cin >> n; Dalje 2
if(n>=1 && n<100){ n: 50
while(i<=n){ S=1275
S+=i;
i++; Dalje 3
} n: 125
cout << "S=" << S << endl; Gabim! n:[1,100]
}
else cout << "Gabim! n:[1,100]";
return 0;
}

8
Shembull 2. Të llogaritet F=(n+1)! me komandën while. (fq.236)

int main() {
int n,i=1,F=1;
cout << "n: ";
cin >> n;
while(i<=n+1){
F*=i;
i++;
}
cout << "F=" << F << endl;
return 0;
}

int main() {
int i,n,F;
cout << "n: ";
cin >> n;
for(F=1, i=1; i<=n+1; i++) F*=i;
cout << "F=" << F << endl;
return 0;
}

9
Shembull 3. Të llogaritet mbetja nga pjestimi i dy numrave pa përdorim të
operatorit %. (fq.238)

int main() {
int k,x;
cout << "k x: ";
cin >> k >> x;
cout << "Mbetjet(k-n)" << endl;
while(k>=x){
k=k-x;
cout << setw(10) << k << endl;
}
cout << "Mbetja=" << k << endl;
return 0;
}

10
Shembull 4. Shuma e katrorëve të numrave natyrorë çift mes 2 dhe n. (fq.241)
int main() {
int n,i=2;
cout << "n: ";
cin >> n;
cout << " n Katrori \n";
while(i<=n){
cout << setw(7) << i << setw(10) << i*i << endl;
i+=2;
}
return 0;
}

11
Shembull 5. Të caktohet sa shifra ka numri që lexohet nga tastiera.

int main() {
int n,shifraN=0;
cout << "n: ";
cin >> n;
while(n>0){
shifraN++;
n/=10;
}
cout << "shifraN=" << shifraN << endl;
return 0;
}

12
Shembull 6. Të shtypen shifrat e numrit që lexohet nga tastiera.

int main() {
int n,numri,shifra;
cout << "numri: ";
cin >> numri;
n=numri;
while(n>0){
shifra=n%10;
cout << shifra << endl;
n/=10;
}
return 0;
}

Cikli 1: (123>0) shifra=3 n=12


Cikli 2: (12>0) shifra=2 n=1
Cikli 3: (1>0) shifra=1 n=0
(0>0) dalje

13
Shembull 7. Të shtypet numri invers i numrit natyror që lexohet nga tastiera.

int main() {
int n,numri,shifra,invers;
cout << "numri: ";
cin >> numri;
n=numri; invers=0;
while(n>0){
shifra=n%10;
invers=invers*10+shifra;
n/=10;
}
cout << "invers=" << invers << endl;
return 0;
}

Cikli 1: (123>0) shifra=3 invers=0*10+3=3 n=12


Cikli 2: (12>0) shifra=2 invers=3*10+2=32 n=1
Cikli 3: (1>0) shifra=1 invers=32*10+1=321 n=0
(0>0) dalje

14
Variabla e komandës While e tipit karakter

Shembull 1. Të shtypen shkronjat e alfabetit (fq.241)

int main() {
char x='A';
while(x<='Z'){
cout << setw(2) << x;
x++;
}
cout << endl;
return 0;
}

15
Shembull 2. Të shtypen shkronjat e alfabetit me një zhvendosje të caktuar (fq.242)

int main() {
char x='A';
int i=1;
while(x<='Z'){
cout << setw(i) << x << endl;
x++;
i++;
}
cout << endl;
return 0;
}

16
Ndërthurje e komandave While

Shembull 1. Të gjinden numrat e përsosur mes numrave 2 dhe n. (fq.246)


(psh. 28 = 1 + 2 + 4 + 7 + 14)

int main() {
int n,numri,pjesetues,S;
cout << "n: ";
cin >> n;
cout << "Numra te persosur\n";
numri=2;
while(numri<=n){
S=1; pjesetues=2;
while(pjesetues<=numri/2){
if(numri%pjesetues==0) S+=pjesetues;
pjesetues++;
}
if(numri==S) cout << setw(8) << numri << endl;
numri++;
}
return 0;
}

17
Shembull 2. Të gjinden numrat treshifrorë të Amstrongut (fq.248)

abc  a 3  b 3  c 3
Zgjidhje 1.
int main() {
int numri,a,b,c;
cout << "Numra te Amstrongut\n";
a=1;
while(a<=9){
b=0;
while(b<=9){
c=0;
while(c<=9){
numri=100*a+10*b+c;
if(a*a*a+b*b*b+c*c*c==numri)
cout << setw(8) << numri << endl;
c++;
}
b++;
}
a++;
}
return 0;
}
18
Zgjidhje 2.
int main() {
int numri,a,b,c;
cout << "Numra te Amstrongut\n";
numri=100;
while(numri<=999){
c=numri%10;
b=(numri/10)%10;
a=numri/100;
if(a*a*a+b*b*b+c*c*c==numri)
cout << setw(8) << numri << endl;
numri++;
}
return 0;
}

19
Zgjidhje 3.
int main() {
int numri,n,shif,S;
cout << "Numra te Amstrongut\n";
numri=100;
while(numri<=999){
n=numri; S=0;
while(n>0){
shif=n%10;
S+=shif*shif*shif;
n/=10;
}
if(S==numri) cout << setw(8) << numri << endl;
numri++;
}
return 0;
}

20
Kapërcimi i komandave brenda unazës While
n 1
x
Shembull 1. Të llogaritet vlera e funksionit (fq.248) y 4
3
 (2i  1)
i 1
x, n – variabla hyrëse
( i  3, 6 )

int main() {
int i,n,S;
double x,y;
cout << "x n: ";
cin >> x >> n;
cout << " i S \n";
S=0; i=1;
while(i<=n+1) {
if(i!=3 && i!=6){
S+=2*i+1;
cout << setw(5) << i
<< setw(5) << S << endl;
}
i++;
}
y=x/3+4*S;
return 0;
}

21
Shembull 2. Të llogaritet n! për numrat mes 1 dhe n. Llogaritja të ndërpritet nëse
faktorieli e tejkalon vlerën maksimale të tipi int. (fq.268)
#include <iostream>
#include <climits>

int main() {
int i,n;
double F;
cout << "n: ";
cin >> n;
cout << " Numri Faktorieli \n";
F=i=1;
while(i<=n) {
if(F*i>INT_MAX){
cout << "F>INT_MAX \n"; break;
}
F*=i;
cout << setw(5) << i << fixed
<< setprecision(1)
<< setw(18) << F << endl;
i++;
}
return 0;
}
22
Shembulli 3. Të llogaritet sa numra çift dhe sa numra tek lexohen nga tastiera.
Leximi i numrave përfundon kur të lexohet numër negativ ose zero.

int main( ) {
int numri,i=1,tek=0,cift=0;
while(true){
cout << "n" << i << ": ";
cin >> numri;
if (numri<=0) break;
if(numri%2==0) cift++;
else tek++;
i++;
}
cout << "cift=" << cift << " tek="<< tek << endl;
return 0;
}

23

You might also like