Sretno sa programiranjem,
Primjer 1:
Tradicionalni program svih
programera početnika je vrlo jednostavan. Naime radi se o tome da na monitoru
ispiše jedna poruka «Hello world»(ili nešto na
tu temu). Ali na ovom primjeru se vrlo dobro može naučiti kako se iz programa
komunicira sa izlaznim uređajima. U našem slučaju radi se o monitoru. Program
se neće naknadno pojašnjavati jer jer je uredno izkomentarisan. (Komentari u
programu su linije koje se ne izvršavaju, nisu instrukcije, već služe za
pojašnjenje programa.).
RJEŠENJE:
/* Prvi program u C++*/
#include <iostream>
using namespace std;/*Predprocesorka direktiva koja se izvrsava prije samog kompajliranja*/
int main() /*Funkcijom main() pocinje svaki program u C++*/
{
/*Sa viticastom zagradom pocinje izvrsni dio u kodu*
cout << "Moj prvi program u C++"<<endl;
cout << "*********************"<<endl;
/*Naredbom cout znakom redirekcije << se postize komunikacija sa monitorom tj. omogucava nam slanje poruka na ekran, primjetite da se parametar <<endl koji kompajleru kaze da nakon poruke automatski predje u novi red*
return 0;
}
EKRAN:
Moj prvi program u C++
*****************
Primjer 2:
Jednostavan program koji već ima unaprijed definisane brojne vrijednosti u
obliku varijabli i nad njima vrši jednostavne operacije množenja i sabiranja.
RJEŠENJE:
/* Program koji vec ima definisane vrijednosti varijabli i vrsi jednostavne operacije sabiranja i mnozenja*/
#include <iostream>
using namespace std;
int main()
{
int x=5;
int y=9;
cout <<"Program *Zbir i proizvod*";
cout <<endl;
cout <<"Zbir je... "<< x+y <<endl;
cout<<"Proizvod je... "<< x * y<<endl;
return 0;}
EKRAN:
Program *Zbir i proizvod*
Zbir je... 14
Proizvod je... 45
Primjer 3:
Program koji od korisnika traži da se unesu dva cijela broja i nad njima se
vrše osnovne matematičke operacije.
RJEŠENJE:
/*Program koji vrsi jednostavne matematicke operacije*/
#include <iostream>
using namespace std;
int main(){
int a, b, c, d, e;
/*Deklarisanje varijabli*/
cout << " Program *Osnovne racunske operacije*"<<endl;
cout << " Unesite dva cijela broja: "<<endl;
cin >> a;
cin >> b;
/*Naredba koja ucitava vrijednosti koje su unesene od strane korisnika*/
c=(a*b);
/*Racunska operacija, ali izvrsena u memoriji racunara, jos uvijek nijE vidljiva na monitoru*/
cout << "Proizvod je... " << c<<endl;
/*Ispis varijable c na monitor*/
d=(a+b);
cout << "Zbir je... " << d<<endl;
e=(a-b);
cout << "Razlika je... " << e<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN:
Program *Osnovne racunske operacije*
Unesite dva cijela broja:
12
3
Proizvod je... 36
Zbir je... 15
Razlika je... 9
Kraj...
Primjer 4:
Napisati program koji na osnovu unosa poluprečnika „r“
od strane korisnika računa Obim(obujam) i Površinu (oplošje) kruga.
RJEŠENJE:
/* Program za racunanje Obima i Povrsine kruga*/
/* Formula za Obim kruga je O=2*r*PI*
/* Formula za Povrsinu je P=r2*PI*/
#include <iostream>
using namespace std;
int main()
{
float Poluprecnik, Obim, Povrsina; // Dvije varijable realnog tipa
const float Pi=3.14; //Deklarisanje konstante PI
cout<<" Program povrsina i obim kruga"<<endl;
cout<<" Unesite poluprecnik kruga r = :"<<endl;
cin>>Poluprecnik; //Ucitavanje unesene vrijednosti
Obim=2*Poluprecnik*Pi; //Izracunavanje obima
Povrsina=Poluprecnik*Poluprecnik*Pi;
cout<<"Obim kruga je... "<<Obim<<endl; //Ispis rezultata
cout<<"Povrsina kruga je... "<<Povrsina<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN:
Program *povrsina i obim kruga*
Unesite poluprecnik kruga r = :
1
Obim kruga je... 6.28
Povrsina kruga je...3.1
Kraj...
Primjer 5:
Napisati program koji ispisuje DRUGI korijen upisanog broja.
RJEŠENJE:
#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
int x;
cout<<" Upisi broj :"<<endl;
cout<<"x = ";
cin>>x;
cout<<"Drugi korijen je : "<<sqrt(x)<<endl;
getchar ();
return 0;
}
EKRAN:
Upisi broj :
x = 345
Dkorijen je : 18.5742
Primjer 6:
Napisati program dijelenje(količnik) dva broja.
RJEŠENJE:
#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
float x,y;
cout<<“ Dijeljenje dva broja“<<endl;
cout<<“ Upisi prvi broj :“<<endl;
cout<<“x = „;
cin>>x;
cout<<“ Upisi drugi broj :“<<endl;
cout<<“y = „;
cin>>y;
float a=x/y;
cout<<“Kolicnik je „<<a<<endl;
cout << "Kraj..."<<endl;
return 0;}
EKRAN:
Dijeljenje dva broja
Upsi prvi broj :
x = 123
Upsi drugi broj:
Y = 15
Kolicnik je ... 8.2
Kraj...
Primjer 7:
Program koji računa zapreminu(volumen) i površinu(oplošje) valjka-cilindra ,ako je poznata visina „H“ i poluprecnik baze „r“.
RJEŠENJE:
/* Program za racunanje Zapremine i povrsine Valjka*/
/* Formula za Zapreminu je V=r2*Pi*H*/
/*Formula za povrsinu je P=(2*B)+M*/
/*Povrsina baze je B=r2*Pi*/
/*Oplosje omotaca je M=2*r*Pi*H*/
#include <iostream>
#include <cmath>
using namespace std
int main()
{
float r, Visina, Zapremina,B,M,P;
const float Pi=3.14;
cout<<" Program *Zapremina i povrsina valjka*"<<endl;
cout<<" Unesite poluprecnik osnove valjka r = ";
cin>>r;
cout<<"Unesite visinu cilindra H = ";
cin>>Visina;
B=r*r*Pi;
Zapremina=B*Visina;
M=2*r*Pi*Visina;
P=(2*B)+M;
cout<<"Zapremina je V = "<<Zapremina<<endl;
cout<<"Povrsina je P = "<<P<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN
Program *Zapremina i povrsina valjka*
Unesite poluprecnik osnove valjka r = 1
Unasite visinu cilindra H = 3
Zapremina je V = 9.42
Povrsina je P = 25.12
Kraj...
PRIMJER 8:
Napisati program koji računa zbir, razliku, umnožak i kvocijent dva realna broja.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
float a,b;
cout<<"Unesi prvi broj:"<<endl;
cin>>a;
cout<<"unesi drugi broj:"<<endl;
cin>>b;
cout<<a<<"+"<<b<<"="<<a+b<<endl;
cout<<a<<"-"<<b<<"="<<a-b<<endl;
cout<<a<<"*"<<b<<"="<<a*b<<endl;
cout<<a<<"/"<<b<<"="<<a/b<<endl;
return 0; }
EKRAN:
Unesi prvi broj :
5
Unasi drugi broj :
7
5+7=12
5-7=-2
5*7=35
5/7=0.714286
PRIMJER 9:
Napisati program koji će izračunati cjelobrojni kvocijent i ostatak dijeljenja dva cijela broja.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int a,b,ostatak,kvoc;
cout<<"Upisi djeljenik:";
cin>>a;
cout<<"Upisi djelitelj:";
cin>>b;
kvoc=a/b;
ostatak=a%b;
cout<<a<<":"<<b<<"="<<kvoc
<<" cijelih, a ostatak je "<<ostatak<<endl;
return 0;
}
EKRAN:
Upisi djeljenik: 34
Upisi djelitelj: 7
34:7=4 cijelih, a ostatak je 6
PRIMJER 10:
Napisati program koji će izračunati srednju vrijednost po volji izabrana četiri realna broja.
RJEŠENJE:
include<iostream>
using namespace std;
int main() {
float a,b,c,d,srvr;
cout<<"Unesi cetiri realna broja,"<<endl;
cout<<"odvoji ih prazninama."<<endl;
cin>>a>>b>>c>>d;
srvr=(a+b+c+d)/4
cout<<endl<<"Srednja vrijednost brojeva: "<<endl;
cout<<a<<", "<<b<<", "<<c<<" i "<<d<<" je "<<srvr<<endl;
return 0;
}
EKRAN:
Unesi cetiri realna broja,
Odvoji ih prazninama.
2 3 4 5
Srednja vrijednost brojeva:
2, 3, 4 i 5 je 3.5
PRIMJER 11:
Potrebno je unijeti cijeli broj, a zatim mu unarnim operatorom promijeniti predznak
RJEŠENJE:
#include<iostream>
using namespace std;
int main(
{
int a;
cout<<"Unesi broj:";
cin>>a;
cout<<endl<<"Kada se broju "<<a <<" promijeni predznak, on postaje "<<-a<<endl;
return 0;
}
EKRAN
Unesi broj:12
Kada se broju 12 promijeni predznak,on postaje -12
PRIMJER 12:
Potrebno je unijeti cijeli broj i pohraniti ga u varijablu A, a zatim na taj broj primijeniti unarni operator za uvećavanje nakon dobave iz memorije (A++).
RJEŠENJE:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int X,A;
cout<<"Unesi broj za operaciju A++: ";
cin>>A;
X=A++;
cout<<"Kad operacija zavrsi X= "<<X<<endl;
cout<<"Kad operacija zavrsi A= "<<A<<endl;
getch();
return 0
}
EKRAN:
Unesi broj za operaciju A++:34
Kad operacija zavrsi X= 34
Kad operacija zavrsi A= 35
PRIMJER 13:
Potrebno je unijeti cijeli broj i pohraniti ga u varijablu A, a zatim na taj broj primijeniti unarni operator za uvećavanje prije dobave iz memorije (++A).
RJEŠENJE:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int X,A;
cout<<"Unesi broj za operaciju ++A: ";
cin>>A;
X=++A;
cout<<"Kad operacija zavrsi X= "<<X<<endl;
cout<<"Kad operacija zavrsi A= "<<A<<endl;
getch();
return 0; }
EKRAN:
Unesi broj za operaciju ++ A: 34
Kad operacija zavrsi X= 35
Kad operacija zavrsi A= 35
Primjer 14:
Program koji računa zapreminu(volumen) i površinu(oplošje) pravilne četverostrane piramide ,ako je
poznata visina „H“ i stranica baze „a“.
RJEŠENJE:
/* Program za racunanje Zapremine i povrsine Pravilnecetverostrane piramide*/
/* Formula za Zapreminu je V=B*H/3*/
/*Formula za povrsinu je P=B+M*/
/*Povrsina baze je B=a2 */
/*Oplosje omotaca je M=4*(a*h/2)*/
/*Visina stranice piramide h =sqrt((H*H)+((a/2)*(a/2)))*/
int main()
{
float a, Visina,h,Zapremina,B,M,P;
cout<<" Program *Zapremina i povrsina piramide*"<<endl;
cout<<" Unesite stranicu osnove(baze) piramide a = ";
cin>>a
cout<<"Unesite visinu piramide H = ";
cin>>Visina;
B=a*a;
Zapremina=B*Visina/3;
h=sqrt((Visina*Visina)+((a/2)*(a/2)));
M=2*a*h;
P=B+M;
cout<<"Zapremina je V = "<<Zapremina<<endl;
cout<<"Povrsina je P = "<<P<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN:
Program *Zapremina i povrsina piramide*
Unesite stranicu osnove(baze) piramide a = 6
Unasite visinu piramide H = 4
Zapremina je V = 48
Povrsina je P = 96
Kraj...
Primjer 15:
Napisati program koji će od korisnika tražiti da unese podatak o godini
rođenja, a na izlazu daje ukupno proživljenih godina plus mjeseci.
RJEŠENJE:
/* Program koji racuna koliko imate godina i mjeseci zivota*/
#include<iostream>
using namespace std
int main()
{
int GodRodjenja, Starost, Mjeseci;
int TrenutnaGodina;
int Mjesec=12;
cout<<"\nKoje ste godine rodjeni? "<<endl;
cin>>GodRodjenja;
cout<<"\nKoja je trenutna godina? "<<endl;
cin>>TrenutnaGodina;
Starost=TrenutnaGodina-GodRodjenja;
Mjeseci=Starost*Mjesec;
cout<<"Trenutno imate "<< Starost <<" godina "<<endl;
cout<<",a to je pretvoreno u mjesece "<< Mjeseci <<" (mjeseci)"<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN:
Koje ste godine rodjeni?
1982
Koja je trenutna godina?
2009
Trenutno imate 27 godina
a to je pretvoreno u mjesece 324 (mjeseci)
Kraj...
Primjer 16:
Napisati program koji će od korisnika tražiti da unese svoje ime i podatak o
godini rođenja, a na izlazu daje ime
ukupan broj proživljenih godina.
RJEŠENJE:
#include<iostream>
#include <conio.h>
#include<string>
using namespace std;
int main()
{ int god, god1, god2;
string ime;
cout<<"Upisi svoje ime:";
cin>>ime;
cout<<endl<<"Upisi godinu svog rodjenja:";
cin>>god1;
cout<<endl<<"Koja je godina sada? ";
cin>>god2;
god=god2-god1;
cout<<endl<<ime<<" ima "<<god<<" godina."<<endl;
getch();
return 0;
}
EKRAN:
Upisi svoje ime:DELILA
Upisi godinu svog rodjenja:1996
Koja je sada godina? 2009
DELILA ima 13 godina.
PRIMJER 17:
Treba izračunati kvocijent dva broja od kojih je jedan cijeli, a drugi realan. Rezultat spremiti u cjelobrojnu varijablu.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int a , kvocijent;
float b;
cout<<"Unesi prvi broj a = ";
cin>>a;
cout<<"unesi drugi broj b = ";
cin>>b;
cout<<"Vrijednost izraza a/b="<<a/b<<endl;
kvocijent=a/b;
cout<<"Sadrzaj varijable kvocijent iznosi:"
<<kvocijent<<endl;
return 0;
}
EKRAN:
Unesi prvi broj a = 152
unesi drugi broj b = 37
Vrijednost izraza a/b = 4.10811
Sadrzaj varijable kvocijent iznosi:4
PRIMJER 18:
Potrebno je unijeti realni broj i pridružiti ga varijabli A. Sadržaj varijable A prvo treba uvećati za 5, pa umanjiti za 8, na kraju pomnožiti sa 3. Koristiti operatore obnavljajućeg pridruživanja
RJEŠENJE:
#include<iostream>
#include <conio.h>
using namespace std;
int main()
{
float A;
cout<<"Upisi zeljeni broj:";
cin>>A;
cout<<"Sadrzaj varijable A se uvecava za 5. Sada A \
iznosi:"<<(A+=5)<<endl;
cout<<" Od trenutnog sadrzaja varijable A se oduzima 8.\
Sada A iznosi:"<<(A-=8)<<endl;
cout<<" Trenutni sadrzaj varijable A se mnozi sa 3.\
Sada A iznosi:"<<(A*=3)<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN:
Upisi zeljeni broj:23
Sadrzaj varijable A se uvecava za 5.Sada A iznosi:28
Od trenutnog sadrzaja varijable A se oduzima 8.Sada A iznosi:20
Trenutni sadrzaj varijable A se mnozi sa 3. Sada A iznosi:60
Kraj...
PRIMJER 19:
Potrebno je unijeti dva logička podatka A i B. Ispisuje se negacija od A, vrijednost (A I B) te (A ILI B).
RJEŠENJE:
#include<iostream>
#include <conio.h>
using namespace std;
int main()
{ bool a,b;
cout<<"Vrijednost logickog podatka A=";
cin>>a;
cout<<"Vrijednost logickog podatka B=";
cin>>b;
cout<<endl<<"Ako je logicki podatak A="<<a
<<" tada je suprotno od A="<<!a<<endl;
cout<<"Za A="<<a<<" i B="<<b<<" (A I B)="<<(a&&b)<<endl;
cout<<"Za A="<<a<<" i B="<<b<<" (A ILI B)="<<(a||b)<<endl;
getch();
return 0;
}
EKRAN:
Vrijednost logickog podatka A=0
Vrijednost logickog podatka B=1
Ako je logicki podatak A=0 tada je suprotno A=1
Za A=0 i B=1 (A I B)=0
Za A=0 i B=1 (A ILI B)=1
PRIMJER 20:
Potrebno je unijeti dva cijela broja. Nakon toga se ti brojevi uspoređuju (<, >, ==, !=)i ispisuje se rezultat usporedbe.
RJEŠENJE:
include<iostream>
#include <conio.h>
using namespace std;
int main()
{
int a,b;
cout<<"Vrijednost prvog broja=";
cin>>a;
cout<<"Vrijednost drugog broja=";
cin>>b;
cout<<endl<<"Je li"<<a<<"<"<<b<<" odgovor: "<<(a<b)<<endl;
cout<<endl<<"Je li"<<a<<">"<<b<<" odgovor: "<<(a>b)<<endl;
cout<<endl<<"Je li"<<a<<"=="<<b<<" odgovor: "<<(a==b)<<endl;
cout<<endl<<"Je li"<<a<<"!="<<b<<" odgovor: "<<(a!=b)<<endl;
getch();
return 0;
}
EKRAN:
Vrijednost prvog broja = 5
Vrijednost drugog broja =12
Je li 5<12 odgovor: 1
Je li 5>12 odgovor: 0
Je li 5==12 odgovor: 0
Je li 5!=12 odgovor: 1
PRIMJER 21:
Potrebno je sabrati(zbrojiti) sve prirodne troznamenkaste(trocifrene) brojeve.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int brojac,zbroj;
cout<<"Program zbraja sve prirodne trocifrene brojeve."<<endl;
zbroj=0;
for(brojac=100;brojac<=999;brojac++)
{
zbroj=zbroj+brojac;
}
cout<<"Suma(zbroj) svih prirodnih troznamenkastih(trocifrenih) brojeva je " <<zbroj<<endl;
return 0;
}
EKRAN:
Program zbraja sve trocifrene brojeve.
Suma(zbroj) svih prirodnih troznamenkastih(trocifrenih)brojeva je 494550
PRIMJER 22: Potrebno je sabrati ( zbrojiti) N odabranih prirodnih brojeva.
RJEŠENJE:
include<iostream>
using namespace std;
int main()
{
int broj,brojac,zbroj,N;
zbroj=0;
cout<<"Upisi koliko brojeva zelis sabrati: ";
cin>>N;
for (brojac=1;brojac<=N;brojac++)
{
cout<<"Upisi broj: ";
cin>>broj;
zbroj=zbroj+broj;
}
cout<<"Zbroj (suma) unesenih brojeva je "<<zbroj<<endl;
return 0;
}
EKRAN:
Upisi koliko brojeva zelis sabrati: 4
Upisi broj: 34
Upisi broj: 5
Upisi broj: 103
Upisi broj: 22
Zbroj(suma) unesenih brojeva je 164
PRIMJER 23:
Potrebno je ispisati prvih N neparnih brojeva.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
cout<<"Program ispisuje prvih N neparnih brojeva."<<endl;
int n,i,br;
cout<<"Upisi zeljeni broj neparnih brojeva: ";
cin>>n;
for(i=1;i<=n;i++)
{
br=(2*i-1);
cout<<br<<" ";
}
cout<<endl;
return 0;
}
EKRAN:
Program ispisuje prvih N neparnih brojeva.
Upisi zeljeni broj neparnih brojeva: 5
1 3 5 7 9
PRIMJER 24:
Potrebno je prebrojiti i sabrati sve parne prirodne brojeve iz raspona od 1 do N.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int broj,brojac,zbroj,N;
cout<<"Program prebrojava i zbraja sve parne prirodne \
brojeve iz raspona od 1 do N."<<endl;
broj=0;
zbroj=0;
cout<<"Upisi gornju granicu raspona: ";
cin>>N;
for(brojac=1;brojac<=N;brojac++)
{
if(brojac%2==0)
{
zbroj=zbroj+brojac;
broj=broj+1;
}
}
cout<<"U intervalu od 1 do "<<N<<" ima "<<broj<<" brojeva \
djeljivih sa 2. Njihov zbroj je "<<zbroj<<endl;
return 0;
}
EKRAN:
Programprebrojava i zbraja sve parne prirodne brojeve iz raspona od 1 do N .
Upisi gornju granicu raspona: 23
U intervalu od 1 do 23 ima 11 brojeva djeljivih sa 2.Njihov zbroj je 132
PRIMJER 25:
Treba unijeti dva realna broja pa izračunati i ispisati njihov cjelobrojni kvocijent i ostatak dijeljenja. Potrebno je načiniti i provjeru. Ako je djelitelj 0, treba ispisati poruku:
RJEŠENJE:
include<iostream>
#include<cmath >
using namespace std;
int main()
{
float a,b,ost,rez;
cout<<"Upisi djeljenik:";
cin>>a;
cout<<"Upisi djelitelj:";
cin>>b;
if (b==0)
cout<<"Ne moze se dijeliti sa 0."<<endl
else
{
rez=a/b;
rez=floor(rez);
ost=fmod(a,b);
cout<<endl<<a<<"/"<<b<<"="<<rez<<" cijelih i "
<<ost<<" ostatka."<<endl;
cout<<endl<<"Provjera: "<<rez<<"*"<<b<<"+"<<ost
<<"="<<rez*b+ost<<endl;
}
return 0;
}
EKRAN:
Upisi djeljenik: 29
Upisi djrlitelj: 3
29/3=9 cijelih i 2 ostatka.
Provjera: 9*3+2=29
PRIMJER 26:
Napisati program koji za unijeti broj ispisujeda li je pozitivan ili negativan te njegovu apsolutnu vrijednost.Ako je upisana 0 „Pogresan unos!.Ponovi!“.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int a;
upis:cout<<"Upisi broj razlicit od 0:";cin>>a;
if(a==0)
{
cout<<"Pogresan unos. Ponovi!"<<endl;
goto upis;
}
if(a<0)
{
cout<<"Broj "<<a<<" je negativan. Njegova apsolutna\
vrijednost je "<<-a<<endl;
}
else
{
cout<<"Broj "<<a<<" je pozitivan. Njegova apsolutna\
vrijednost je "<<a<<endl;
}
return 0;
}
EKRAN:
Upisi broj različit oa 0 : -37
Broj -37 je negativan.Njegova apsolutna vrijednost je 37
PRIMJER 27:
Napisati program koji stepene Celzija pratvara u stepeneReaumur i Fahrenheit.
RJEŠENJE:
/*Program pretvara stepene Celzija u Reaumur-ove i Fahrenheit-ove*/
#include <iostream>
#include <cmath>
using namespace std;
int main (){
int C,R,F;
cout<<"Upisi stepene CELZIJ-a: ";
cin>>C;
R=4*C/5;
F=(9*C/5)+32;
cout<<"Reaumur = "<<R<<endl;
cout<<"Fahrenheit = "<<F<<endl;
return 0;
}
EKRAN:
Upisi stepene CELZIJ-a : 40
Reaumur = 32
Fahrenheit = 104
PRIMJER 28:
Napisati program koji za unijeti broj ispisuje njegove djelitelje.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int brojac,N;
cout<<"Program ispisuje djelitelje odabranog \
prirodnog broja." <<endl;
upis:cout<<"Upisi prirodni broj: ";
cin>>N;
if (N<=0)
goto upis;
cout<<"Djelitelji broja "<<N<<" su: ";
for (brojac=1;brojac<=N;brojac++)
{
if(N%brojac==0)
cout<<brojac<<" ";
}
cout<<endl;
return 0;
}
EKRAN:
Program ispisuje djelitelje odabranog prirodnog broja.
Upisi prirodni broj: 123
Djelitelji broja 123 su: 1 3 41 123
PRIMJER 29:
Napisati program koji ispisuje sve trocifrene brojeve čiji je zbir cifara 5.
RJEŠENJE:
include<iostream>
using namespace std;
int main()
{
int i,pom,j,d,s;
cout<<"Program ispisuje sve trocifrene brojeve \
ciji je zbir cifri 5."<<endl;
cout<<"Brojevi ciji je zbir cifri 5 su: "<<endl;
for(i=100;i<=999;i++)
{
pom=i;
j=pom%10;
d=(pom/10)%10;
s=pom/100;
if(j+d+s==5)
cout<<i<<endl;
}
return 0;
}
EKRAN:
Program ispisuje sve trocifrene brojeve ciji je zbir cifri 5.
Brojevi ciji je zbir cifri 5 su:
104
113
122
131
140
203
212
221
230
302
311
320
401
410
500
PRIMJER 30:
Napisati program koji ispisuje na ekranu da li je unijeti broj prost ili ne.Broj je prost ako je djeljiv samo sa 1 i samim sobom.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int brojac,N;
cout<<"Program ispituje je li odabrani prirodni broj prost.";
upis:cout<<endl<<"Upisi prirodni broj: ";
cin>>N;
if (N<=0)
goto upis;
for (brojac=2;brojac<=(N-1);brojac++)
{
if(N%brojac==0)
{
cout<<"Broj "<<N<<" nije prost."<<endl;
goto kraj;
}
}
cout<<"Broj "<<N<<" je prost."<<endl;
kraj:return 0;
}
EKRAN:
Program ispituje je li odabrani broj prost.
Upisi prirodni broj : 151
Broj 151 je prost.:
PRIMJER 31:
Ispisuje sve savršene prirodne brojeve iz raspona od 1 do 10000. Broj je savešen ako je jednak sumi(zbiru) svojih djelitelja npr: 28 = 1 + 2 +4 +7 + 14.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int br,brojac,zbroj;
cout<<"Program ispisuje sve savrsene prirodne brojeve iz \ raspona od 1 do 10000."<<endl;
cout<<"Savrseni brojevi su: ";
for(br=1;br<=10000;br++)
{
zbroj=0;
for (brojac=1;brojac<=(br-1);brojac++)
{
if(br%brojac==0)
zbroj=zbroj+brojac;
}
if(zbroj==br)
cout<<br<<" ";
}
return 0;
}
EKRAN:
Program ispisuje sve savrsene prirodne brojeve iz raspona od 1 do 10000.
Savrseni brojevi su: 6 28 496 8128
PRIMJER 32:
Napisati program koji ispituje da li je upisani prirodni broj savršen.Broj je savešen ako je jednak sumi (zbiru) svojih djelitelja npr: 6 = 1 + 2 +3.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int brojac,zbroj,N;
cout<<"Program ispituje da li je odabrani prirodni broj savrsen.";
upis:cout<<endl<<"Upisi prirodni broj: ";
cin>>N;
zbroj=0;
if (N<=0)
goto upis;
for (brojac=1;brojac<=(N-1);brojac++)
{
if(N%brojac==0)
{
zbroj=zbroj+brojac;
}
}
if(zbroj==N)
cout<<"Broj "<<N<<" je savrsen."<<endl;
else
cout<<"Broj "<<N<<" nije savrsen."<<endl;
return 0;
}
EKRAN:
Program ispituje da li je odabrani prirodni broj savrsen.
Upisi prirodni broj: 8128
Broj 8128 je savrsen
PRIMJER 33:
Napisati program koji ispituje da li je upisani prirodni broj armstrongov. Armstrongov broj je broj koji je jednak sumi kubova svoji cifara npr. 153 = 13+53+33 = 1+125+27.
RJEŠENJE:
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
int num,r,sum=0,temp;
printf("\nUnesi broj N = : ");
scanf("%d",&num);
temp=num;
while(num!=0)
{
r=num%10;
num=num/10;
sum=sum+(r*r*r);
}
if(sum==temp)
printf("\nBroj %d jeste armstrongov broj.",temp);
else
printf("\nOvaj broj %d nije armstrongov broj.",temp);
return 0;
}
PRIMJER 34:
Program koji ispisuje armstrongove brojeve iz intervala 1-500.( Armstrongov broj je broj koji je jednak sumi kubova svoji cifara npr. 407 = 43+03+73 = 64+0+343 ).
RJEŠENJE:
#include<stdio.h>
#include<conio.h>
main(void)
{
int i,j,k,suma;
printf("\n-Armstrongovi brojevi iz intervala 1-500 jesu:-\n");
for(i=1;i<=500;i++)
{
j=i;
suma=0;
while(j!=0)
{
k=j%10;
suma+=(k*k*k);
j/=10;
}
if(suma==i)
printf(" %d",i);
}
getch();
}
EKRAN:
-Armstrongovi brojevi iz intervala 1-500 jesu:-
1 153 370 407
PRIMJER 35:
Program provjerava je li upisani broj veći ili manji od 100, te je li paran ili neparan.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Upisi broj razlicit od 0:";cin>>a;
if (a==100)
{
cout<<"Unesen je broj 100, on je paran"<<endl;
}
else
if (a<100)
{
cout<<"Uneseni broj je manji od 100 i ";
if (a%2==0)
cout<<" paran je."<<endl;
else
cout<<" neparan je."<<endl;
}
else
{
cout<<"Uneseni broj je veci od 100 i ";
if (a%2==0)
cout<<" paran je."<<endl;
else
cout<<" neparan je."<<endl;
}
return 0;
}
EKRAN:
Upisi broj razlicit od 0: 236
Uneseni broj je veci od 100 i paran je.
PRIMJER 36:
Program provjerava je li upisani broj >= 0. Ako je, računa se kvadratni korijen tog broja, a ako nije ispisuje se poruka: Broj je manji od 0, ponovi upis. i ponavlja se unos broja.
RJEŠENJE:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
float broj,rez;
upis:cout<<"Upisi broj:";
cin>>broj;
if (broj<0)
{
cout<<"Broj je manji od 0, ponovi upis"<<endl;
goto upis;
}
else
{
rez=sqrt(broj);
cout<<"Kvadratni korijen od "<<broj<<" je "<<rez<<endl;
}
return 0;
}
EKRAN:
Upisi broj:578
Kvadratni korijen od 578 je 24.0416
PRIMJER 37:
Treba unijeti cijeli broj pa provjeriti je li paran. Ako je paran, treba izračunati i ispisati njegovu treću potenciju, a ako nije, apsolutnu vrijednost.
RJEŠENJE:
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
int i,rez1,rez2;
cout<<"Unesi broj:";
cin>>i;
if (i%2==0)
{
rez1=i*i*i;
cout<<"Broj "<<i<<" je paran, a njegova\
treca potencija iznosi "<<rez1<<endl;
}
else
{
rez2=abs(i);
cout<<"Broj "<<i<<" je neparan, a njegova \
apsolutna vrijednost iznosi "<<rez2<<endl;
}
return 0;
}
EKRAN:
Unesi broj:6
Broj 6 je paran, a njegova treca potencija iznosi 216
PRIMJER 38:
Napisati program koji od tri upisana broja na ekranu ispisuje najmanji..
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
float a,b,c,min;
cout<<"Upisi prvi broj:";
cin>>a;
cout<<"Upisi drugi broj:";
cin>>b;
cout<<"Upisi treci broj:";
cin>>c;
min=a;
if (b<min)
{min=b;}
if (c<min)
{min=c;}
cout<<"Ako se upisu brojevi: "<<a<<", "<<b<<" i "<<c
<<" najmanji od njih je "<<min<<endl;
return 0;
}
EKRAN:
Upisi prvi broj:154
Upisi drugii broj:28
Upisi treci broj:375
Ako se upisu brojevi: 154, 28, i 375 najmanji od njih je 28
PRIMJER 39:
Potrebno je prebrojiti sve prirodne brojeve djeljive sa 3 iz raspona od 1 do 9999.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int broj,brojac;
cout<<"Program prebrojava sve prirodne brojevedjeljive sa \
3 iz raspona od 1 do 9999."<<endl;
broj=0;
for(brojac=1;brojac<=9999;brojac++)
{
if(brojac%3==0)
broj=broj+1;
}
cout<<"U intervalu od 1 do 9999 ima "<<broj
<<" brojeva djeljivih sa 3."<<endl;
return 0;
}
EKRAN:
Program
Prebrojavasve prirodne brojeve djeljive sa 3 iz raspona od 1 do 9999.
U intervalu od 1 do 9999 ima 3333 brojeva djeljivih sa 3.
PRIMJER 40:
Potrebno je ispisati tekst *** u obliku slova V.
RJEŠENJE:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,s,p;
s=10;
p=40;
for(i=1;i<=10;i++)
{
cout<<setw(s)<<"***"<<setw(p)<<"***"<<endl;
s=s+2;
p=p-4;
}
return 0;
}// Ukljucivanje bibilioteke u program
#include <iostream>
using namespace std;
// Definisanje glavne funkcije programa
int main(){
// Definisanje varijabli
int dots;
// Ispis odgovarajuce poruke na ekranu
cout << "Koliko tackica zelite: ";
// Beskonacna for petlja, prekinut cemo je sa funkcijom break...
for(;;) {
// Unos broja...
cin >> dots;
// Ukoliko je unesena vrijednost broj izlazi se iz for petlje
// u suprotnom se ispisuje odgovarajuca poruka, brise ulazni bufer
// i znakovi upisani u bufer i ponovo se unosi broj...
if(cin) break;
cout << "Ne zafrkajite se :P, unesite broj: " << endl;
cin.clear();
cin.ignore(10000, '\n');
}
// Nakon sto se unese ispravan broj, ispis poruke na ekran...
cout << dots << " tackica, samo za vas :) -->" << endl;
// I nakon poruke, jos ispis tackica...
for(int brojac=0;brojac<dots;brojac++) cout << ".";
// Brisanje ulaznog bufera i kraj programa...
cin.ignore(1000, '\n');
getchar();
return 0;
}
PRIMJER 41:
Napisati program koji upisani broj rastavlja na proste faktore.
RJEŠENJE:
#include <iostream>
using namespace std;
int main()
{
int br, prbr;
cout<<"Rastavljanje broja na proste faktore"<<endl;
unos:cout<<"Upisi broj veci od 0:";
cin>>br;
if(br<=0)
{
cout<<"Treba unijeti broj veci od 0"<<endl;
goto unos;
}
else
{
prbr=2;
cout<<br<<" = 1";
dj2:if(br==1)
{
goto kraj;
}
else
{
dj1:if(br%prbr==0)
{
cout<<" * "<<prbr;
br=br/prbr;
goto dj2;
}
else
{
prbr=prbr+1;
goto dj1;
}
}
}
kraj:cout<<endl;
return 0;
}
EKRAN:
Rastavljanje broja na proste faktore
Upisi broj veci od 0:24
24=1*2*2*2*3
PRIMJER 42:
Za upisane stranice b i a po našem izboru računa P i O kvadrata i pravougaunika(pravokutnika).
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int a,b,k;
cout<<"Upisi stranice:"<<endl;
cout<<"a = ";
cin>>a;
cout<<"b = ";
cin>>b;
cout<<"Za kvadrat upisi 1 "<<",a za pravougaonik 2 : "<<endl;
cin>>k;
if(k==1)
{
cout<<"Pavrsina kvadrata je P = "<<a*a<<" ,a obim O = " <<4*a<<endl;
}
if(k==2)
{
cout<<"Pavrsina pravougaonika je P = "<<a*b<<" ,a obim O = " <<2*(a+b)<<endl;
}
return 0;
}
EKRAN:
Upisi stranice:
a=2
b=4
Za kvadrat upisi 1 ,a za pravougaonik 2:
2
Povrsina pravougaonika je P = 8 ,a obim O = 12
PRIMJER 43:
Za upisane a ,b,c, i rpo našem izboru računa P i V kocke, kvadra ili lopte(kugle).
RJEŠENJE:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
float a,b,c,r,k,pi;
pi=3.14;
cout<<"Program ispisuje (P) i (V) kocke ili kvadra ili lopte(kugle):"<<endl;
cout<<"Upisi stranice:"<<endl;
cout<<"a = ";
cin>>a;
cout<<"b = ";
cin>>b;
cout<<"c = ";
cin>>c;
cout<<"r = ";
cin>>r;
cout<<"Kocka (1)"<<endl;
cout<<"Kvadar (2) "<<endl;
cout<<"Lopta-kugla (3) "<<endl;
cin>>k;
if(k==1)
{
cout<<"Pavrsina kocke je P = "<<6*a*a<<", a zapremina V = " <<a*a*a<<endl;
}
if(k==2)
{
cout<<"Pavrsina kvadra je P = "<<2*((a*b)+(a*c)+(b*c))<<", a volumen V = " <<a*b*c<<endl;
}
if(k==3)
{
cout<<"Pavrsina lopte je P = "<<4*r*r*pi<<", a volumen V = " <<4*r*r*r*pi/3<<endl;
}
return 0;
}
PRIMJER 44:
Napisati program koji dekadni broj ispisuje kao hexadecimalni i oktalni broj.
RJEŠENJE:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int broj;
cout<<" Unesi broj : ";
cin >> broj;
cout <<"Hexadekadno = "<< hex << broj << endl; //ispisuje upisani broj u hexadekadskom obliku
cout << "Oktalno = "<<oct << broj << endl; //ispisuje upisani broj u oktalnom obliku
cout << "Dekadno = "<<dec << broj << endl; //vraca bazu ispisa u dekadski sustav (inace bi se nastavilo u oktalnomcout << sin << broj << endl;
return 0;
}
EKRAN:
Unesi broj : 60
Hexadekadno = 3c
Oktalno = 74
Dekadno = 60
PRIMJER 45:
Napisati program koji dekadni broj ispisuje kao binarni.
RJEŠENJE:
#include <iostream>
using namespace std;
int main() {
int broj, i=0; // i nam je index kojim označavamo poziciju u polju, odmah ga postavimo na 0 jer je prvi element polja 0.
int binarni[11];
cout<<"Unesi broj N = ";
cin >> broj;
cout<<"Binarno je :";
do {
binarni[i++]=broj%2; // stavi rezultat dijeljenja na i-to mjesto u polju i uvecaj i za 1
broj/=2; // podijeli broj s 2
}
while (broj); // i to ponavljaj sve dok je rezultat razlicit od nule
do {
cout << binarni[--i]; // umanji i za 1 i ispisi i-ti element polja
} while (i); // i to ponavljaj sve dok je i razlicit od nule
return 0;
}
EKRAN:
Unesi broj N = 234
Binarno je :11101010
PRIMJER 46:
Napisati program za stepenovanje broja (ako je poznata baza i eksponent).
RJEŠENJE:
#include <iostream>
using namespace std;
double Stepen (int baza, int eksponent)
{
double rezultat = 1;
for (int i = 0; i < eksponent; ++i)
rezultat *= baza;
return rezultat;
}
main ()
{
int a,b;
cout << "Unesi bazu:";
cin >> a;
cout << "\nUnesi eksponent:";
cin >> b;
cout << a<<"^" <<b<<" = " << Stepen(a,b) << '\n';
system("PAUSE");
}
EKRAN:
Unesi bazu : 3
Unesi eksponent : 5
3^5 = 243
PRIMJER 47:
Napisati program za izbor matematske radnje za upisana dva broja.
RJEŠENJE:
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
float a,b,c,d,e,f,g,h;
int i;
printf ("Unesi brojeve : ");
scanf ("%f %f",&a,&b);
printf ("\n1 - zbrajanje");
printf ("\n2 - oduzimanje");
printf ("\n3 - mnozenje");
printf ("\n4 - dijelenje");printf("\n Morate odabrati 1,2,3 ili 4");
printf ("\n Tvoj izbor : ");
scanf ("%i", &i);
switch(i)
{
case 1:
printf("\n Zbir je %f",a+b);
break;
case 2:
printf ("\n Razlika je %f",a-b);
break;
case 3:
printf ("\nProizvod je %f",a*b);
break;
case 4:
printf ("\nKvocjent je %f",a/b);
if (b=0)
printf("\nNije moguce dijeliti s nulom");
break;
default:
printf("\n Morate odabrati 1,2,3 ili 4");
break;
system ("PAUSE");
return 0;
}
}
EKRAN:
Unesi brojeve : 23
7
1 - zbrajanje
2 - oduzimanje
3 - mnozenje
4 – dijelenje
Morate odabrati 1,2,3 ili 4
Tvoj izbor : 4
Kvocijent je 3.285714
PRIMJER 48:
Isti primjer uz upotrebu naredbe if.
RJEŠENJE:
#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
float a,b,k;
cout<<"Unesite dva broja :"<<endl;
cout<<" a = ";
cin>>a;
cout<<" b = ";
cin>>b;
cout<<"Morate odabrati 1,2,3 ili 4 :"<<endl;
cout<<" 1 - Sabiranje "<<endl;
cout<<" 2 - Oduzimanje "<<endl;
cout<<" 3 - Mnozenje "<<endl;
cout<<" 4 - Dijelenje "<<endl;
cout<<" Tvoj izbor je : ";
cin>>k;
cout<<endl;
if(k==1)
{
cout<<"Zbir je : "<<a+b<<endl;
}
if(k==2)
{
cout<<"Razlika je : "<<a-b<<endl;
}
if(k==3)
{
cout<<"Proizvod je : "<<a*b<<endl;
}
if(k==4)
{
cout<<"Kolicnik je : "<<a/b<<endl;
}
return 0;
}
PRIMJER 49:
Napisati program koji ispisuje pozdrav koliko puta želimo.
RJEŠENJE:
/*
program koji pozdravlja korisnika */
#include <iostream>
using namespace std;
int main (){
int broj;
cout<<"Koliko puta vas treba pozdraviti:";
cin>>broj;
while(broj>0){
cout<<"Zdravo\n";
broj=broj-1;
}
cout<<"To je sve...\n";
system("Pause");
return 0;
}
PRIMJER 50:
Napisati program koji upisano vrijeme u sekundama pretvara u sate.
RJEŠENJE:
#include<stdio.h>
#include<conio.h>
main(void)
{
int sec;
float sat;
do
{ printf("\nUpisi vrijeme u sekundama:");
scanf("%d",&sec);
sat=sec/3600.;
printf("\n%d sekundi je %f sati",sec,sat);
}
while(sec!=0);
}
PRIMJER 51:
Napisati program koji za upisane parametre kvadratne jednačine oblika ax2+bx+c=0
ispisuje na ekranu rješenja jednačine ako postoje ,a ako nisu moguća ispiše da
nema rješenja.
RJEŠENJE:
#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
float a,b,c;
cout<<“Unesi koeficijente kvadratne jednacine :“<<endl;
cout<<“a = „;
cin>>a;
cout<<“b = „;
cin>>b;
cout<<“c = „;
cin>>c;
float diskr=(b*b)-(4*a*c);
cout<<“Jednacina ima „;
if(diskr==0)
cout<<“dvostruki realni korijen,rjesenje je: X1 = X2 =
„<<(-b/(2*a))<<endl;
else if(diskr>0)
cout<<“dva realna rjesenja,rjesenja su: X1 =
„<<(-b+sqrt(diskr))/(2*a)<<“ i X2 =
„<<(-b-sqrt(diskr))/(2*a)<<endl;
else
cout<<“dva kompleksna korjena „<<endl;
getchar ();
return 0;
}
Primjer
52:
Željeznička kompanija naplaćuje karte na sljedeći način:
a) Djeca (ispod 16 godina) – besplatno
b) Odrasli (16 godina i stariji) – puna cijena
c) Penzioneri (60 godina i stariji) – pola cijene
Napisati program koji na ulazu prihvata godine starosti putnika, a na izlazu
daje informaiju u koju kategoriju putnik pripada.
RJEŠENJE:
// Sljedeci program na ulazu trazi godine putnika, dok na izlazu, // na osnovu
njegovih godina daje koliki iznos cijene karte placa .
#include<iostream>
using namespace std;
int main()
{
int Starost;
cout<<"Unesite godine putnika: "<<endl;
cin>>Starost;
if (Starost < 16)
cout<<"Ovaj putnik putuje besplatno"<<endl;
if (Starost >= 16) if (Starost <= 59)
cout<<"Ovaj putnik placa puni iznos cijene karte"<<endl;
if (Starost >= 60)
cout<<"Ovaj putnik placa pola iznosa cijene karte"<<endl;
return 0;
}
PRIMJER 53:
Napisati program za pogađanje slučajno
generisanog broj a rasponu 1 do 1000.Program ispisuje „MANJE“ ,“VISE“,a kada se
pogodi ispisuje „BINGOOO...“.
RJEŠENJE:
//pogađanje broja
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <conio.h>
using namespace std;
int main() {
int raspon=1000;
srand( static_cast<unsigned>( time(0) ) );
int trazeniBroj = rand() % raspon + 1;
int mojBroj;
int brojPokusa=0;
cout << "POGODITE SLUCAJNO GENERIRAN BROJ IZMEDJU 1 i 1000"
<< endl << endl;
do{
cout<< ++brojPokusa<<". pokusaj: ";
cin >> mojBroj;
if(mojBroj > trazeniBroj)
cout<< " Manje.\n";
else if (mojBroj < trazeniBroj)
cout<<" VISE.\n";
} while(mojBroj != trazeniBroj);
cout << endl << " B I N G O O O ...\n";
return 0;
}
PRIMJER 54:
Poznata Moievrova teorema za kompleksne brojeve tvrdi da je za ma kakve realne brojeve x i n: (cos x + i sin x) n = cos n x + i sin n x .Napisati program koji ce za realne brojeve x i n unesene sa tastature izracunati lijevu i desnu stranu ovog izraza i ispisati ih na ekranu, koristeci kompleksni tip podataka. Na nekoliko primjera provjeriti da li se zaista dobijaju jednake vrijednosti.RJEŠENJE:
# include <iostream>
# include <cmath>
# include <complex>
using namespace std;
int main() {
// Definisanje i unos dva realna broja
double x, n;
cout << "Unesi realan broj \"x\": ";
cin >> x;
cout << "Unesi realan broj \"n\": ";
cin >> n;
// Racunanje prvog dijela (prvidio je rezultat)
complex<double> prvidio(cos(x), sin(x));
prvidio=pow(prvidio,n);
// Racunanje drugog dijela (drugidio je rezultat)
complex<double> drugidio(cos(n*x), sin(n*x));
// Ispis rezultata
cout << "Lijeva strana jednacine je: " << prvidio << " a desna: " << drugidio
<< endl;
getchar();
return 0;
}