For  petlja  u C++

For petlja je treća i posljednja petlja u C++. Ona je najčešće korištena petlja u ovom programskom jeziku,a obično se koristi kada kroz neku cjelobrojnu varijablu treba proći jednakim koracima. Dio koda koji sabira prvih 10 prirodnih brojeva sa for petljom izgleda ovako:

 

suma=0;

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

suma=suma+n;

 

For petlja počinje sa ključnom riječi for koju slijede tri izraza u zagradi, koje kompajleru govore šta da radi sa kontrolnom varijablom( varijabla n).Prvi izraz kaže na šta treba inicijalizirati varijablu(ovdje na 1), drugi je logički izraz koji govori kad treba izaći iz petlje(čim n bude veće od 10), a treći govori za koliko uvećati ili umanjiti varijablu nakon svake iteracije(uvećavamo za 1).

Važno: Pazite da unutar zagrada for petlje ne stavite i treći tačkazarez, jer u njoj imamo samo dva tačkazareza, a ne tri. Isto tako pazite da nakon zatvaranja zagrada ne stavite tačkazarez, jer bi tada tijelo for petlje bilo prazno, tj. tijelo for petlje bi bila prazna izjava!

 

suma=0;                           ako napravite grešku i stavite         suma=0;

 

for(n=1; n<=10; n++);       tačkuzarez iza for petlje,                for(n=1; n<=10; n++)

 

 suma=suma+n;                kompajler to vidi kao praznu           ;

                                             

                                          izjavu tj.ovako:                            suma=suma+n;

 

 

        Ukoliko tijelo for petlje treba da sadrži više od jedne izjave, onda sve izjave koje treba da budu u tijelu petlje treba staviti unutar vitičastih zagrada{}, tako da tvore blok izjava.

 

Napišite date while i dowhile petlje kao for petlje!

 

                                                      Rješenje:

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

while(i<=10){                               if (i < 5 && i != 2)

if(i < 5 && i !=2 )                          cout<<'x';

cout<<'x';                                     }

i++;

}

 

                                                          Rješenje:

long n = 1000;                               for(long n=1000; n>0; n=n100)

do{                                                 cout<<'x';

cout<<'x';

n=n100;

}while(n>0)

 

 

 

Vidjeli smo kako se koriste sve tri vrste petlji i to bi trebao biti neki uobičajeni način korištenja tih petlji.Ipak način izvršavanja ove tri petlje se može dodatno promijeniti uz pomoć break i continue izjava.Izjava break ima za zadatak da prekine dalje izvršavanje petlje u kojoj se nalazi. Izjava continue ima za zadatak da prekine samo trenutačnu iteraciju petlje u kojoj se nalazi.

 

//primjer break izjave

#include <iostream>

using namespace std;

int main (){

int n;

for (n=10; n>0; n--){

cout << n << ", ";

if (n==3){

cout << "Odbrojavanje prekinuto!";

break;

}

}

return 0;

}

 

Ekran:

10, 9, 8, 7, 6, 5, 4, 3, Odbrojavanje prekinuto!

 

 

//primjer continue izjave

#include <iostream>

using namespace std;

int main (){

int n=11;

while(n>1){

n--;

if (n==5)

continue;

cout << n << ", ";

}

cout << "Pali!\n";

cin.get();

return 0;

}

 

 

Ekran:

10, 9, 8, 7, 6, 4, 3, 2, 1, Pali!

 

Napišite program koji će sabirati sve parne ili neparne brojeve u datom intervalu. Korisnik bi trebao saopćiti gornju granicu intervala i jedno slovo P ili N, ovisno o tome kakve brojeve želi sabrati.

#include <iostream>

using namespace std;

int main (){

int donja,gornja, temp, suma;

char znak;

cout<<"Unesi jednu granicu: ";

cin>>donja;

cout<<"Unesi drugu granicu: ";

cin>>gornja;

/*zamijeni vrijednosti donja i gornja

ako su u obrnutom poretku*/

if (donja>gornja){

temp=donja;

donja=gornja;

gornja=temp;

}

cout<<"Koje brojeve sabiras: ";

cin>>znak;

suma=0;

if (znak=='P'){

for(int i=donja;i<=gornja;i++){

if (i%2==0)

suma=suma+i;

}

 

cout<<"Suma brojeva je "<<suma;

}

else if (znak=='N'){

for(int i=donja;i<=gornja;i++){

if (i%2!=0 )

suma=suma+i;

}

cout<<"Suma brojeva je "<<suma;

}

else

cout<<"Pogresni podaci";

system("Pause");

return 0;

}

 

EKRAN 1:

Unesi jednu granicu: 2

Unesi drugu granicu: 11

Koje brojeve sabiras: P

Suma brojeva je: 30.

 

EKRAN 2:

Unesi jednu granicu: 20

Unesi drugu granicu: -5

Koje brojeve sabiras: N

Suma brojeva je: 91.

 

EKRAN 3:

Unesi jednu granicu: 20

Unesi drugu granicu: -50

Koje brojeve sabiras: h

Pogresni podaci.

 

1. Napišite program koji će izbrojati koliko je brojeva djeljivih sa 5 u datom intervalu, nakon što mu korisnik saopći granice intervala.

 

Primjer 1:

Unesi jednu granicu: 3

Unesi drugu granicu: 11

Od 3 do 11 imamo 2 broja/eva djeljiva/ih sa 5.

 

Primjer 2:

Unesi jednu granicu: 15

Unesi drugu granicu: 6

Od 6

do 15 imamo 5 broja/eva djeljiva/ih sa 5For petlja u C

Make a free website with Yola