1. CIKLIČNE STRUKTURE, FOR PETLJA
Ciklična algoritamska struktura je ona kod koje se koraci mogu izvršiti više puta.
Slično kao kod razgranate sturkture, vrlo lako se može desiti da ne znamo koje će vrijednosti korisnik unijeti, ili čak koliko će ih
biti.
Ogroman broj zadataka koje rješavamo u programiranju zahtijeva da se podatak za podatkom obrađuje na isti način.
To sa stanovišta algoritma znači da se jedni isti koraci ponavljaju više puta. Kao što smo se upoznali sa različitim tipovima
grananja, sada ćemo se upoznati sa nekoliko tipova ciklusa.
Svim koracima kojima definišemo cikluse zajedničko je to što imaju "strelicu unazad". Na taj način "vraćaju" izvršavanje
algoritma/programa nekoliko koraka unazad čime smo napravili ciklus ili petlju.
Svako ponavljanje ciklusa, naziva se iteracija. Koraci unutar ciklusa su uvijek isti, ali vrijednosti sa kojima se radi se menjaju. To
je u stvari i poenta rada sa ciklusima.
Naravno, ovo se podrazumeva, ali da ipak pomenemo - ciklusi se mogu kombinovati sa svim algoritamskim strkturama. To znači
da možemo imati grananja unutar ciklusa ili cikluse unutar grananja. U stvari, najveći broj zadataka koji su pred nama će biti
upravo takav.
2. for(i=pocetak; i<=kraj; i=i+korak)
Blokovi naredbi se ponavljaju unaprijed poznati broj puta
Zadatak 1. Napisi program koji ispisuje brojeve do
broja n.
#include <iostream>
using namespace std;
int main()
{
int i,n;
cin>>n;
for(i=1;i<n;i++)
cout<<i<<" ";
return 0;
}
3. Zadatak 2. Napisi program koji ispisuje brojeve do broja n u opadajućem poretku.
#include <iostream>
using namespace std;
int main()
{
int i,n;
cin>>n;
for(i=n;i>=1;i--)
cout<<i<<" ";
return 0;
}
4. 6.Zadaca
1. Napisi program koji ispisuje parne brojeve od p do k.(p-k interval)
2. Napisi programkoji ispisuje neparne brojeve od p do k.
3. Napisi program koji ispisuje broje djeljive sa 3 u intervalu p do k.
4. Napisi program koji ispisuje sumu brojeva djeljivih sa 7 iz intervala p do k.
5. Napisi proizvod brojeva djeljivih sa 5 iz intervala p do k.
6. Napisati sve brojeve iz intervala p do k koji su djeljivi sa 3 a nisu djeljivi sa 5.
7. Ispisati najmanji 6-cifreni broj koji je djeljiv sa 3 a nije djeljiv sa 5
5. 1. Napisi program koji ispisuje sve djelioce unesenog broja n.
2. Napisi program koji ispisuje broj djelilaca zadanog broja n. Npr: Ulaz: 3 Izlaz:2
3. Napisi program koji racuna aritmeticku sredinu brojeva iz intervala p do k.
4. Napisi program koji racuna aritmeticku sredinu brojeva djeljivih brojem 3 iz intervala p
do k.
5. Napisi program koji ispisuje zajednicke djelioca brojeva m i n.
6. Napisi program koji ispisuje najveci zajednicki djelilac brojeva m i n.
7. Napisi program koji ispisuje da li je uneseni broj prost ili nije.
Zadaca 7.
6. Zadatak 3 : Napisati program koji ispisuje najveci zajednicki djelilac brojeva m i n.
#include <iostream>
using namespace std;
int main()
{
int i,m,n;
cin>>m;
cin>>n;
if (m>n)swap (m,n);
for(i=m;i>=1;i--)
{
if(m%i==0 && n%i==0)
cout<<i<<endl;
break;
}
return 0;
}
Naredba break se koristi kad treba prekinuti izvođenje bloka
naredbi unutar petlje. Nakon naredbe break program prelazi
na prvu naredbu iza programske petlje.
7. Zadatak 3 : Napisati program koji ispisuje da li je uneseni broj prost ili nije..
#include <iostream>
using namespace std;
int main()
{
int n,i,br;
cout<<"Unesi neki broj ";
cin>>n;
br=0;
for(i=1;i<=n;i++)
{
if(n%i==0)br=br+1;}
if(br>2)
cout<<"nije prost";
else
cout<<"broj je prost"<<endl;
return 0;
}
8. Zadatak 3 : Napisati program koji ispisuje sve proste brojeve do broja n.
#include <iostream>
using namespace std;
int main()
{
int i,n,j,br;
cin>>n;
for (i=2;i<=n;i++)
{br=0;
for(j=1;j<=i;j++)
{
if(i%j==0)br=br+1;}
if(br<=2)
cout<<i<<" ";
}
return 0;
}
9. Zadatak 3 : Napisati program koji ispisuje sve proste brojeve do broja n i koliko ima prostih brojeva.
#include <iostream>
using namespace std;
int main()
{
int i,n,j,br,brr;
cin>>n;
brr=0 for (i=2;i<=n;i++) ; //brr nam je broj prostih brojeva
{br=0; // ovdje brojimo djelioce svakog broja i, njegovi djelioci su neki j.
for(j=1;j<=i;j++)
{
if(i%j==0)br=br+1;}
if(br<=2)
cout<<i<<" ";
if(br<=2)
brr=brr+1;
}
cout<<endl;
cout<<"Ima ih "<<brr<<endl;
return 0;
}
10. 8. Zadaca
1. Napiši program koji ispisuje sve trocifrene brojeve koji imaju
svojstvo
(abc)=(ab)2-c2 (npr. 147=142-72)
2. Napiši program koji ispisuje neparne dvocifrene brojeve sa
istim ciframa (11, 33…) .
3. Napišite program koji ispituje da li je uneseni prirodni broj
savršen. Broj je savršen ako je jednak zbiru svojih djelilaca
osim samog sebe.
Ulaz: 6 Izlaz:Broj 6 je savrsen
4. Napisati program koji ispisuje sve savršene brojeve iz
intervala od k do p.
Ulaz: 1 3000 Izlaz: Savrseni brojevi su: 6 28 496
5. Napisati program koji ispisuje sve četverocifrene brojeve čiji
je proizvid cifara jednak unesenom broju S, S<50.
Ulaz: 25 Izlaz: 1155 1515 1551 5115 5151 5511