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