Download as pdf or txt
Download as pdf or txt
You are on page 1of 224

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 = :

Obim kruga je... 6.28

Povrsina kruga je...3.14

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
Drugi korijen 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

Upisi prvi broj :

x = 123

Upisi 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 :

Unasi drugi broj :

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:
Program prebrojava 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 ispisuje da 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 stepene Reaumur 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 brojeve djeljive 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

Prebrojava sve 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

II-i dio
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:

Povrsina pravougaonika je P = 8 ,a obim O = 12

PRIMJER 43:

Za upisane a ,b,c, i r po 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

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;
}

PRIMJER 55:

Napisati program koji ucitani tekst štampa naopako. Tekstse ucitava s tastature sve do znaka
za novi red.
RJEŠENJE:
#include<iostream>
#include<cstring>
using namespace std;
int main(){
// Ispis poruke "Unesite tekst"...
cout << "Unesite tekst: ";
// Definisanje i unos teksta koristeci funkciju getc() iz biblioteke "cstring"
char tekst[100];
gets(tekst);
// Pridruzivanje duzine teksta varijabli "duzina", pomocu funkcije strlen()...
int duzina=strlen(tekst);
// Ispis teksta "slovo po slovo" krenuvsi sa kraja niza tekst[]...
for(int i=duzina-1;i>=0;i--) cout << tekst[i];
// Kraj programa
getchar();
return 0;
}

PRIMJER 56:

Napišite program koji traži od korisnika da unese niz recenica, pri cemu se broj rečenica
prethodno unosi sa tastature.Za svaku unesenu recenicu dinamicki alocirajte prostor, uz
vodenje evidencije o adresi svake alocirane recenice u dinamickom nizu pokazivaca na
pocetke svake od recenica. Nakon toga, trebaispisati unesene recenice sortirane u abecedni
poredak (odnosno u
poredak po ASCII kodovima). Sortiranje obavite rucno, bilo kojim postupkom koji Vam je
poznat (drugim rijecima, nemojte koristiti gotove funkcije za sortiranje, poput funkcije "sort"
iz biblioteke "algorithm".
RJEŠENJE:
#include <iostream>
#include <string>
using namespace std;
int main(){
// Unos broja recenica
int broj_rec;
cout << "Unesite broj recenica: ";
cin >> broj_rec;
cin.ignore(10000, '\n'); // Ignorisanje nepotrebih znakova iz bufera
char **recenice = new char*[broj_rec]; // Definisanje dvostrukog pokazivaca
for(int i=0; i<broj_rec; i++) { // For petlja u kojoj se unosi n recenica
// Definisanje pomocnog niza pom i unos recenice u njega
char pom[1000];
cout << i+1 << ": ";
cin.getline(pom, 1000);
// Definisanje niza na niz (matrica, i to grbava) (pomocu pokazivaca)
recenice[i] = new char[strlen(pom) + 1];
// Upisivanje recenice iz pom na i-to mjesto u nizu
strcpy(recenice[i], pom);
}
// Pomocni stringovi, uveo sam ih zbog efikasnije provjere operacija < >
string pom1, pom2;
// Proces sortiranja, metodom nalazenja najveceg i stavljanje na vrh
for (int i=0;i<broj_rec-1;i++) for (int j=i+1;j<broj_rec;j++){
pom1=recenice[i];
pom2=recenice[j];
if (pom1>pom2){
char pomocna[1000];
strcpy(pomocna, recenice[i]);
strcpy(recenice[i], recenice[j]);
strcpy(recenice[j], pomocna);
}}
// Ispis sortiranog niza
cout << endl << "Sortirano: " << endl;
for(int k = 0; k < broj_rec; k++) cout << k+1 << ": " << recenice[k] << endl;
// Kraj programa
getchar();
return 0;
}

PRIMJER 57:

Napišite program koji prvo traži da se sa tastature unese rečenica, a zatim ispisuje svaku riječ
te rečenice u posebnom redu, kao i informaciju koliko ta rečenica ima slova (ne računajuci
interpunkcijske znakove) i riječi. Obratite pažnju da riječi rečenice mogu biti razdvojene sa
više od jednog razmaka,kao i da se na samom početku i na samom kraju rečenice mogu
također nalaziti razmaci. Za realizaciju koristite tip “string” i odgovarajuće manipulacije sa
stringovima.
RJEŠENJE:
# include <iostream>
# include <string>
using namespace std;
int main(){
// Unos recenice
cout << "Unesi recenicu: " << endl;
string recenica;
getline(cin, recenica);
// Ispis rijeci
cout << endl << "Rijeci iz recenice: " << endl << endl;
bool istina=false;
int br=0, br1=0;
for (int i=0; i<=recenica.length(); i++) {
if (((recenica[i]>='a')&&(recenica[i]<='z'))||
((recenica[i]>='A')&&(recenica[i]<='Z')))
{ cout << recenica[i]; br++; istina=true; continue; }
if (istina) {cout << endl; istina=false; br1++; }
}
// Ispis broja slova
cout << endl << "Recenica ima " << br << " slova i " << br1 << " rijeci!";
// Kraj programa
return 0;
}

PRIMJER 58:

Napisati program koji učitani tekst štampa naopako. Tekstse ucitava s tastature sve do znaka
za novi red.
RJEŠENJE:
#include<iostream>
#include<cstring>
using namespace std;
int main(){
// Ispis poruke "Unesite tekst"...
cout << "Unesite tekst: ";
// Definisanje i unos teksta koristeci funkciju getc() iz biblioteke "cstring"
char tekst[100];
gets(tekst);
// Pridruzivanje duzine teksta varijabli "duzina", pomocu funkcije strlen()...
int duzina=strlen(tekst);
// Ispis teksta "slovo po slovo" krenuvsi sa kraja niza tekst[]...
for(int i=duzina-1;i>=0;i--) cout << tekst[i];
// Kraj programa
getchar();
return 0;
}

PRIMJER 59:

Napisati program koji racuna sumu trocifrenih prirodnih brojeva, kojima je zadnja cifra 2
puta veca od prve cifre.Rezultat ispisati na ekran.
RJEŠENJE:
#include <iostream>
using namespace std;
main(){
// Ispis poruke "Brojim..." :)
cout << "Brojim... :)" << endl;
// Definisanje varijable "suma" tipa int...
int suma=0;
/* Trostruka petlja, i se vrti od 0 do 9 i predstavlja cifru stotica, j se isto vrti od 0 do 9 i
predstavlja cifru desetica, a k predstavlja cifru jedinica. Kada je uslov u trecoj for petlji
zadovoljen tada se "suma" uvecava za taj broj, ako nije zadovoljen prelazi se na iduci broj. */
for (int i=1;i<10;i++)
for (int j=0;j<10;j++)
for (int k=0;k<10;k++) {
if ((k>2*i)) suma=suma+(i*100+j*10+k);
}
// Ispis sume na ekranu...
cout << "Suma je:" << suma << endl;
getchar();
return 0;
}

PRIMJER 60:
Napisati program koji ce ispisati na ekranu zeljeni broj tackica, broj tackica se unosi na
ulazu...
RJEŠENJE:
// 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 61:

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;

PRIMJER 62:

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=pow(i,3);

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;

PRIMJER 63:

Treba unijeti koordinate dvije tačke A i B, pa izračunati njihovu udaljenost u koordinatnom


sustavu-sistemu.

RJEŠENJE:

#include<iostream>

#include<cmath>

using namespace std;

int main()

float x1,y1,x2,y2,pom,d;

cout<<"Koordinate tocke A:"<<endl;

cout<<"x1= ";

cin>>x1;

cout<<"y1= ";

cin>>y1;

cout<<"Koordinate tocke B:"<<endl;

cout<<"x2= ";

cin>>x2;
cout<<"y2= ";

cin>>y2;pom=pow((x2-x1),2)+pow((y2-y1),2);

d=sqrt(pom);

cout<<"Udaljenost tocaka A("<<x1<<","<<y1 <<") i B("<<x2

<<","<<y2<<") je "<<d<<endl;

return 0;

PRIMJER 64:

Potrebno je sabrati(zbrojiti) N članova niza:

(1 + 1/2 + 1/3 + 1/4 + 1/5 +....+ 1/N)

RJEŠENJE:

#include <iostream>

using namespace std;

int main()

cout<<"Program zbraja niz (1 + 1/2 + 1/3 + 1/4 + 1/5 +....+ 1/N)"; float zbroj,brojac,N;

cout<<endl<<"Upisi zeljeni broj clanova niza: ";

cin>>N;

zbroj=0;

for(brojac=1;brojac<=N;brojac++)

zbroj=zbroj+1/brojac;

cout<<"Zbroj "<<N<<" clanova ovog niza iznosi "<<zbroj<<endl;

return 0;
}

PRIMJER 65:

Potrebno je prebrojiti sve prirodne brojeve djeljive sa 8 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 \

8 iz raspona od 1 do 9999."<<endl;

broj=0;

for(brojac=1;brojac<=9999;brojac++)

if(brojac%8==0)

broj=broj+1;

cout<<"U intervalu od 1 do 9999 ima "<<broj

<<" brojeva djeljivih sa 8."<<endl;

return 0;

PRIMJER 66:

Potrebno je ispisati djelitelje upisanog prirodnog broja.

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;

PRIMJER 14:

Ispisuje sve troznamenkaste(trocifrene) brojeve koji su djeljivi sa 7, a zadnja im je cifra


(znamenka)7.

RJEŠENJE:
#include<iostream>

using namespace std;

int main()

int i;

cout<<"Program ispisuje sve troznamenkaste brojeve \

koji su djeljivi sa 7, a zadnja im je znamenka 7."<<endl;

cout<<"Brojevi koji zadovoljavaju uvjet su: "<<endl

for(i=100;i<=999;i++)

if(i%10==7)

if(i%7==0)

cout<<i<<endl;

return 0;}

PRIMJER 67:

Potrebno je ispisati znakove i njihove ASCII vrijednosti.

RJEŠENJE:

#include<iostream>

#include<iomanip>
using namespace std;

int main()

cout<<"Program ispisuje znakove i njihove ASCII \ vrijednosti."<<endl;

int znak,red,stupac;

// Podesavanjepocetnog ASCII znaka od kojeg se zeli prikaz

znak=32;

// Podesavanje broja redaka

for(red=1;red<=45;red++)

// Podesavanje broja podataka u jednom redu

for(stupac=1;stupac<=5;stupac++)

cout<<setw(10)<<znak<<" = "<<char(znak);

znak=znak+1;

cout<<endl;

return 0;}

PRIMJER 68:

Program računa ukupni otpor otpornika spojenih paralelno.

RJEŠENJE:

#include<iostream>

using namespace std;


int main()

cout<<"Program racuna ukupni otpor N otpora spojenih u paralelu"

<<endl;

float R,br,Ruk1,Ruk;

cout<<"Nakon posljednje vrijednosti otpora unijeti 0"<<endl;

br=0;

Ruk1=0;

upis:cout<<"Upisi vrijednost otpora u omima: ";

cin>>R;

if(R<0)

cout<<"Vrijednost otpora mora biti >0."<<endl;

goto upis;

while(R>0)

br=br+1;

Ruk1=Ruk1+1/R;

cout<<"Upisi vrijednost otpora u omima: ";

cin>>R;

Ruk=1/Ruk1;
cout<<"Ukupni otpor "<<br<<" otpora spojenih u paralelu je "

<<Ruk<<" oma."<<endl;

return 0;}

PRIMJER 69:

Treba unijeti koeficijente kvadratne jednadžbe, pa ovisno o njihovim vrijednostima izračunati


i ispisati rješenja.

Važno je provjeriti vrijednost koeficijenta a, ako je a = 0, jednadžba nije kvadratna.Treba


provjeriti predznak diskriminante jer on određuje hoće li rješenja kvadratne jednadžbe ax2 +
bx +c = 0 bit realni ili kompleksni brojevi.

RJEŠENJE:

#include<iostream>

#include<cmath>

using namespace std;

int main()

float a,b,c,x1,x2,pom1,xR,xi;

cout<<"Upisi koeficijent a:";

cin>>a;

cout<<"Upisi koeficijent b:";

cin>>b;

cout<<"Upisi koeficijent c:";

cin>>c;

if (a!=0)

pom1=b*b-4*a*c;

if (pom1>=0)
{

x1=(-b+sqrt(pom1))/(2*a);

x2=(-b-sqrt(pom1))/(2*a);

cout<<"Rjesenja su realni brojevi


x1=" <<x1<<" i x2="<<x2<<endl;

else

xR=-b/(2*a);

xi=sqrt(-pom1)/(2*a);

cout<<"Rjesenja su kompleksni brojevi:";

cout<<endl<<"z1="<<xR<<"+"<<xi<<"i,
z2=" <<xR<<"-"<<xi<<"i"<<endl;

else

cout<<"Ako je koeficijent a=0, jednadzba nije\

kvadratna"<<endl;

return 0;}

PRIMJER 70:

Treba izračunati jakost struje, napon ili otpor prema odabiru korisnika. Za računanje jakosti
struje treba birati 1, za napon 2, a za otpor 3. Ovisno o tome što se želi računati treba unijeti
odgovarajuće podatke.

RJEŠENJE:
#include <iostream>

using namespace std;

int main ()

cout<<"Ohmov zakon"<<endl;

cout<<"Za racunanje jakosti struje upisi 1,\

za racunanje napona upisi 2, a za otpor 3: ";

int i;

float U,I,R;

cin>>i;

switch (i)

case 1:

cout<<"U (V)=";

cin>>U;

cout<<"R (om)=";

cin>>R;

I=U/R;

cout<<"Ako je napon "<<U<<" V, a otpor "<<R

<<" oma, jakost struje iznosi "<<I<<" A."<<endl;

break;

case 2:
cout<<"I (A)=";

cin>>I;

cout<<"R (om)=";

cin>>R;

U=I*R;

cout<<"Ako je jakost struje "<<I<<" A, a otpor "<<R

<<" oma, napon iznosi "<<U<<" V."<<endl;

break;

case 3:

cout<<"U (V)=";

cin>>U;

cout<<"I (A)=";

cin>>I;

R=U/I;

cout<<"Ako je napon "<<U<<" V, a jakost struje iznosi "


<<I<<" A, otpor iznosi "<<R<<" oma."<<endl;

break;

default:

cout<<"Pogresan unos. Treba upisati 1, 2 ili 3."<<endl;

return 0;}

PRIMJER 71:

Program na osnovu unesenog rednog broja mjeseca ispisuje koliko taj mjesec ima dana. U
slučaju unosa broja koji nije iz raspona od 1 do 12 treba ispisati upozorenje.
RJEŠENJE:

#include<iostream>

using namespace std;

int main()

int i;

cout<<" Program na osnovu unesenog rednog broja mjeseca \

ispisuje koliko taj mjesec ima dana"<<endl;

cout<<"Upisi redni broj mjeseca: ";

cin>>i;

switch (i)

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

cout<<i<<". mjesec ima 31 dan."<<endl;

break;

case 2:

case 4:

case 6:
case 9:

case 11:

cout<<i<<". mjesec ima 30 dana."<<endl;

break;

default:

cout<<"Pogresan unos. Redni broj mjeseca moze biti\

iz raspona od 1 do 12."<<endl;

return 0;}

PRIMJER 72:

Program na temelju unesenih vrijednosti stranica trokuta računa opseg ili površinu, ovisno o
želji korisnika. Za izračunavanje obima( opsega) upisuje se 1, a za površinu (oplošje) 2.

RJEŠENJE:

#include<iostream>

#include<cmath>

using namespace std;

int main()

cout<<"Program na osnovu unesenih vrijednosti stranica trokuta\

racuna opseg ili povrsinu, ovisno o zelji korisnika"<<endl;

float a,b,c,o,p,p1,pov;

int i;

cout<<"Za izracun opsega upisi 1, a za povrsinu 2: ";

cin>>i;

cout<<"a = ";
cin>>a;

cout<<"b = ";

cin>>b;

cout<<"c = ";

cin>>c;

if((a<=0)||(b<=0)||(c<=0))

cout<<"Vrijednost stranice trokuta ne moze biti <=0"<<endl;

goto kraj;

if((a+b<=c)||(b+c<=a)||(c+a<=b))

cout<<"Unesene vrijednosti nisu stranice trokuta"<<endl;

goto kraj;

switch(i)

case 1:

o=a+b+c;

cout<<"Opseg trokuta je O= "<<o<<endl;

break;

case 2:

cout<<"Povrsina se racuna po Heronovoj formuli"<<endl;

p=(a+b+c)/2;

p1=p*((p-a)*(p-b)*(p-c));
pov=sqrt(p1);

cout<<"Povrsina trokuta je P= "<<pov<<endl;

break;

default:

cout<<"Pogresan unos. Valja unijeti 1 ili 2!"<<endl;

return 0;}

PRIMJER 73:

Program računa ukupni otpor N otpora spojenih paralelno. Nakon posljednje vrijednosti
otpora unosi se 0.

RJEŠENJE:

include<iostream>

using namespace std;

int main()

cout<<"Program racuna ukupni otpor N otpora spojenih u paralelu"

<<endl;

float R,br,Ruk1,Ruk;

cout<<"Nakon posljednje vrijednosti otpora unijeti 0"<<endl;

br=0;

Ruk1=0;

upis:cout<<"Upisi vrijednost otpora u omima: ";

cin>>R;

if(R<0)

cout<<"Vrijednost otpora mora biti >0."<<endl;


goto upis;

while(R>0)

br=br+1;

Ruk1=Ruk1+1/R;

cout<<"Upisi vrijednost otpora u omima: ";

cin>>R;

Ruk=1/Ruk1;

cout<<"Ukupni otpor "<<br<<" otpora spojenih u paralelu je "

<<Ruk<<" oma."<<endl;

return 0;}

PRIMJER 74:

Treba izračunati ukupni otpor za otpore R1 i R2 ovisno o tome jesu li spojeni serijski ili
paralelno.

RJEŠENJE:

#include<iostream>

using namespace std;

int main()

float R, R1,R2;

int i;

cout<<"Otpor R1 (u omima):";

cin>>R1;
cout<<"Otpor R2 (u omima):";

cin>>R2;

cout<<"Za spoj otpora u seriju upisi 1, a za paralelu 2:";

cin>>i;

switch (i)

case 1:

R=R1+R2;

cout<<"Ako se otpori od "<<R1<<" oma i "<<R2

<<" oma spoje u seriju ukupni je otpor "

<<R<<" oma."<<endl;

break;

case 2:

R=(R1*R2)/(R1+R2);

cout<<"Ako se otpori od "<<R1<<" oma i "<<R2

<<" oma spoje u paralelu ukupni je otpor "

<<R<<" oma."<<endl;

break;

default:

cout<<"Pogresan unos. Unesi 1 ili 2"<<endl;

return 0;}

PRIMJER 75:

Treba izračunati otpor bakrene žice za koju su uneseni duljina l [m] i promjer r[mm].

RJEŠENJE:
#include<iostream>

using namespace std;

int main()

float promjer,l,r,s,otpor;

const float PI=3.14;

const float ro=0.0175;

cout<<"Upisi promjer zice (u mm):";

cin>>promjer;

cout<<endl<<"Upisi duljinu zice (u m):";

cin>>l;

//Racunanje poprecnog presjeka zice.

r=promjer/2;

s=r*r*PI;

//Racunanje otpora

otpor=ro*l/s;

cout<<endl<<"Bakrena zica duljine "<<l

<<" m i presjeka"<<s<<" mm2 ima otpor "<<otpor

<<" oma."<<endl;

return 0;}

PRIMJER 76:

Tijelu mase m[kilograma] promijeni se za t [sekundi] brzina sa v1 na v2 [metara/sekundi].


Treba izračunati silu koja je djelovala na tijelo.
Napomene:
Potrebno je izračunati akceleraciju tijela (a=Δv/Δt).
Vrijednost sile računa se po formuli drugog Newtonovog zakona.
F=m·a

RJEŠENJE:

#include<iostream>

using namespace std;

int main()

float m,t,v1,v2,a,F;

cout<<"Upisi masu tijela (u kg):";

cin>>m;

cout<<"Upisi vrijeme (u s):";

cin>>t;

cout<<"Upisi pocetnu brzinu (u m/s):";

cin>>v1;

cout<<"Upisi konacnu brzinu (u m/s):";

cin>>v2;

//Racunanje akceleracije.

a=(v2-v1)/t;

//Racunanje sile

F=m*a;

cout<<endl<<"Na tijelo je djelovala sila od " <<F<<" N."<<endl;

return 0;}

PRIMJER 77:

Tijelo mase m [kg], pada sa visine h [m] brzinom v [ m/s]. Kolika je ukupna energija tijela?

RJEŠENJE:

#include<iostream>
using namespace std;

int main()

const float g=9.81;

float m,h,v,Ep,Ek,Euk;

cout<<"Upisi masu tijela (u kg):";

cin>>m;

cout<<"Upisi visinu (u m):";

cin>>h;

cout<<"Upisi brzinu (u m/s):";

cin>>v;

//Racunanje potencijalne energije.

Ep=m*g*h;

//Racunanje kineticke energije

Ek=m*v*v/2;

//Racunanje ukupne energije

Euk=Ep+Ek;

cout<<endl<<"Tijelo ima "<<Ek

<<" J kineticke energije i "<<Ep

<<" J potencijalne energije, sto daje ukupnu\ energiju od "<<Euk<<"


J."<<endl;

return 0;}

PRIMJER 78:

Na izvor napona U su priključena tri serijski spojena otpornika (R1, R2 i R3). Potrebno je
izračunati ukupni otpor (R), jakost struje (I) i pojedine padove napona na otporima (U1, U2 i
U3).

RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
float U,R1,R2,R3,R,I;
cout<<"U (V)= ";
cin>>U;
cout<<endl<<"R1 (om)= ";
cin>>R1;
cout<<endl<<"R2 (om)= ";
cin>>R2;
cout<<endl<<"R3 (om)= ";
cin>>R3;
R=R1+R2+R3;
I=U/R;
cout<<endl<<"Ukupni otpor R iznosi "<<R<<" oma."<<endl;
cout<<endl<<"Jakost struje I iznosi "<<I<<" A."<<endl;
cout<<endl<<"Pad napona U1 je "<<I*R1<<" V."<<endl;
cout<<"Pad napona U2 je "<<I*R2<<" V."<<endl;
cout<<"Pad napona U3 je "<<I*R3<<" V."<<endl;
return 0;}

PRIMJER 79:

Na stolici mase Mskilograma sjedi čovjek mase Mckilograma. Koliki je tlak na pod ako
stolica ima četiri noge. Presjek svake od noga je kvadrat sa stranicama X centimetara.

Napomene:
Potrebno je izračunati težinu stolice i čovjeka

(G = m · g) ; potrebno je deklarirati akceleraciju slobodnog pada kao konstantu (g =


9.81 m/s2).
Ukupna površina na koju djeluje sila dobije se zbrajanjem površina poprečnih
presjeka noga stolice.
Površinu izraženu u cm2 treba preračunati u m2.

RJEŠENJE:

#include<iostream>

using namespace std;

int main()

float Mc,Ms,Gs,Gc,X,F,S,s1,p;
const float g=9.81; //konstanta je izrazena u m/s2

cout<<"Upisi masu stolice u kg:";

cin>>Ms;

cout<<"Upisi masu covjekau kg:";

cin>>Mc;

cout<<"Unesi vrijednost stranice kvadrata u cm:";

cin>>X;

//Racuna se tezina covjeka i stolice

Gs=Ms*g;

Gc=Mc*g;

F=Gs+Gc; //ukupna sila koja djeluje na pod

//Racuna se povrsina

s1=X*X; //povrsina presjeka jedne noge stolice

S=4*s1; //ukupna povrsina na koju djeluje sila

S=S/10000; //pretvorba cm2 u m2

p=F/S; //tlak u paskalima

cout<<"Tlak kojim covjek mase "<<Mc

<<" kg, koji sjedi na stolici mase "<<Ms

<<" kg, djeluje na pod je "<<p<<" paskala"<<endl;

return 0;}

PRIMJER 80:

Poluprečnik(polumjer) Zemlje je 6370 [ km]. Za koje će vrijeme avion obletjeti Zemlju ako
leti na visini odh kilometara brzinom v [ km/h].

RJEŠENJE:

#include<iostream>

using namespace std;


int main()

float h,v, Ruk,O,vrijeme;

const float R=6370; //konstanta je izrazena u km

const float PI=3.14;

cout<<"Upisi visinu na kojoj leti avion (u km):";

cin>>h;

cout<<"Upisi brzinu kojom leti avion (u km/h):";

cin>>v;

//Racunanje puta (opseg kruga)

Ruk=R+h; //zbroj polumjera Zemlje i visine

O=2*Ruk*PI;

vrijeme=O/v; //t=s/v, jednoliko gibanje

cout<<"Avion koji leti brzinom "<<v

<<"km/h, na visini od "<<h

<<" km obletjet ce Zemlju za "<<vrijeme

<<" sati."<<endl;

return 0;}

PRIMJER 81:

Treba izračunati snagu P koju mora imati električno kuhalo koje za t[ minuta] može vodu
mase m[grama] zagrijati od temperature temp1 do temperature temp2[°C]).

RJEŠENJE:

#include<iostream>

using namespace std;


int main()

float tmin,m,temp1,temp2,ts,DT,M,Q,P;

const float c=4186; //konstanta je izrazena u J/(kg*K)

cout<<"Upisi vrijeme (u min):";

cin>>tmin;

cout<<"Upisi masu vode (u gr):";

cin>>m;

cout<<"Upisi pocetnu temperaturu (u °C):";

cin>>temp1;

cout<<"Upisi konacnu temperaturu (u °C):";

cin>>temp2;

DT=temp2-temp1;

ts=tmin*60; //vrijeme treba pretvoriti u sekunde

M=m/1000; //masu treba pretvoriti u kg

Q=M*c*DT; //racuna se toplinska energija

P=Q/ts; //racuna se snaga

cout<<"Elektricno kuhalo koje za "<<tmin

<<" min moze "<<m<<" grama vode zagrijati sa "


<<temp1<<"°C na "<<temp2<<"°C ima snagu od “ <<P<<" vata."<<endl;

return 0;}

PRIMJER 82:

Treba izračunati koliko bi vremena bilo potrebno zvuku da prevali razmak između dva mjesta
ako taj isti razmak svjetlost prevali za t sekundi.
Napomene:
Potrebno je deklarirati brzinu svjetlosti c=3e+8 [m/s ] i brzinu zvuka v=340 [m/s]
kao konstante.
Put je isti,a kretanje(gibanje) je jednoliko.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
float t,s,tz;
const float c=3e+8; //brzina svjetlosti izrazena u m/s
const float v=340; //brzina zvuka izrazena u m/s
cout<<"Upisi vrijeme (u sek):";
cin>>t;
//racunanje puta
s=c*t;
tz=s/v;
cout<<"Svjetlost prevali razmak izmedju dva mjesta\
za "<<t<<" s, a zvuk je sporiji pa mu za isti\
razmak treba "<<tz<<" sekundi."<<endl;
return 0;}

Nizovi
NIZOVI

Pprimjeri C++ , III-i dio

Sretno sa programiranjem,

Primjer 1:Napisati program koji ispisuje članove niza.

RJEŠENJE:

//Ispisuje na ekran clanove niza

#include <cstdlib>

#include <iostream>

using namespace std;

int main()

int i,N;

int X[100]; /*deklaracija niza od 100 cijelih brojeva*/

cout<<"Unesi clanove 0<N<100 = "; /*broj N mora biti manji od 100 jer je deklariran niz
od maksimalno 100 clanova*/
cin >>N;

for (i=0;i<N;i++) /*upis članova niza*/

cin>>X[i]; /*upis i-tog člana niza*/

cout<<" Unijli ste ove clanove :"<<endl;

for (i=0;i<N;i++) /*ispis članova niza for petljom*/

cout << X[i]; /*ispis i- tog člana niza*/

cout <<endl; /*ispis praznog retka (end line)*/

return 0;

EKRAN:

Unesi clanove 0<N<100 =5

12

76

45

Unijli ste ove clanove :

12

76
45

Primjer 2:Napisati program koji ispisuje unijete znakove i duljinu(broj) znakova.

RJEŠENJE:

#include <cstdlib>

#include <iostream>

#include <string>

using namespace std;

int main()

char a[80];

int i=0;

printf("Upisite niz znakova: ");

gets(a);

while (a[i+1]!='\0')

i++;

printf("Upisali ste niz: ");

puts(a);

printf("Duljina mu je %d znakova",i+1);

return 0;

EKRAN:

Upisite niz znakova: zt3 J65re 98d

Upisali ste niz: zt3 J65re 98d


Duljina mu je 13 znakova

Primjer 3:Napisati program koji ispisuje najmanji član unijetog niza.

RJEŠENJE:

#include <cstdlib>

#include <iostream>

using namespace std;

int main()

int polje[100];

int N,i, j, min;

cout<<"Unesi broj clanova N:";

cin>>N;

for(i = 0; i < N; i++){

cout<< "\nUnesite polje[" << i << "] = ";

cin>> polje[i];

min=polje[0];

// traženje najmanjeg

for(i = 0; i < N; i++)

if(polje [i] < min){

min = polje[i];

cout<< "\n Najmanji clan niza je: "<<min;

return 0;
}

EKRAN:

Unesi broj clanova N:5

Unesite polje[0] = 45

Unesite polje[1] = 3

Unesite polje[2] = 12

Unesite polje[3] = 7

Unesite polje[4] = 98

Najmanji clan niza je : 3

Primjer 4:Napisati program koji ispisuje neparne članove ,a u drugi red parne članove
unijetog niza.

RJEŠENJE:

// Ispisuje prvo parne, a u naredni red neparne brojeve za N unesenih, par_nep.cpp

#include <iostream>

using namespace std;

int main()

int niz[100],N;

cout<<"Unesi N : ";

cin>>N;

for(int i=0; i<N; i++)

cin>>niz[i];

cout<<“Parni clanovi : „;

for(int i=0; i<N; i++)

{
// ispisuje prvo parne

if(niz[i]%2==0)

cout<<niz[i]<<" ";

cout<<endl; // pomjeramo kursor u naredni red

cout<<“ Neparni clanovi : „;

for(int i=0; i<N; i++)

// sada ispisujemo neparne

if(niz[i]%2!=0)

cout<<niz[i]<<" ";

cout<<endl;

system("pause");

return 0;

EKRAN:

Unesi N :7

35

11
Parni clanovi : 2 6 8

Neparni clanovi : 35 7 9 11

Primjer 5:Napisati program koji ispisuje svaki P-i (i-i) član niza.

RJEŠENJE:

// Ispisuje svaki P-i broj

#include <iostream>

using namespace std;

int main()

int niz[100],N,P;

cout<<"Upisi broj clanova N = : ";

cin>>N;

cout<<"Zelim ispisati svaki P = : ";

cin>>P;

cout<<"Sada upisi clanove : "<<endl;

for(int i=0; i<N; i++)

cin>>niz[i];

cout<<"Svaki "<< P << "-i clan je : "<<endl;

for(int i=P-1; i<N; i=i+P)

cout<<niz[i]<<" ";

cout<<endl;

return 0;

EKRAN:

Upisi broj clanova N :7


Zelim ispisati svaki P = : 3

Sada upisi clanove :

13

55

123

17

20

Svaki 3-i clan je :

55 17

Primjer 6:Napisati program koji ispisuje članove djeljive sa 5,a u drugi red članove djeljive
sa 3.

RJEŠENJE:

// Ispisuje clanove djeljive sa 5, a u naredni red djeljive sa 3

#include <iostream>

using namespace std;

int main()

int niz[100],N;

cout<<"Unesi N : ";

cin>>N;

for(int i=0; i<N; i++)

cin>>niz[i];

cout<<"Clanovi djeljivi sa 5 : ";


for(int i=0; i<N; i++)

// ispisuje clanove djeljive sa 5

if(niz[i]%5==0)

cout<<niz[i]<<" ";

cout<<endl; // pomjeramo kursor u naredni red

cout<<" Clanovi djeljivi sa 3 : ";

for(int i=0; i<N; i++)

// sada ispisujemo clanove djeljive sa 3

if(niz[i]%3==0)

cout<<niz[i]<<" ";

cout<<endl;

system("pause");

return 0;

EKRAN:

Unesi N: 8

24

35

68

11
15

100

87

Clanovi djeljivi sa 5 : 35 15 100

Clanovi djeljivi sa 3 : 24 9 15 87

Primjer 7:Napisati program koji ispisuje članove N djeljive sa P .

RJEŠENJE:

//Ispisuje clanove N koji su djeljivi sa P.

#include <iostream>

using namespace std;

int main()

int polje[100];

int N,i, j, P;

cout<<"Unesi broj clanova N:";

cin>>N;

for(i = 0; i <N; i++){

cout<< "\nUnesite polje[" << i << "] = ";

cin>> polje[i];

cout<<endl;

cout<< "\nUnesite djelilac :";

cin>>P;

cout<<"Cllanovi djeljivi sa "<<P<<" ..... ";


for(i = 0; i < N; i++)

if (polje[i]%P==0)

cout<<polje[i]<<" ";

return 0;

EKRAN:

Unesi broj clanova N: 7

Unesite polje[0] = 5

Unesite polje[1] = 12

Unesite polje[2] = 33

Unesite polje[3] = 59

Unesite polje[4] = 28

Unesite polje[5] = 105

Unesite polje[6] = 16

Unesite djelilac : 4

Clanovi djeljivi sa 4 ..... 12 28 16

Primjer 8:Napisati program koji ispisuje sumu (zbir) svakog P-g (i-g ) clana niza.

RJEŠENJE:

// Ispisuje svaki P-i broj

#include <iostream>

using namespace std;

int main()
{

int niz[100],N,P,s=0;

cout<<"Upisi broj clanova N = : ";

cin>>N;

cout<<"Zelim sabrati svaki P = : ";

cin>>P;

cout<<"Sada upisi clanove : "<<endl;

for(int i=0; i<N; i++)

cin>>niz[i];

cout<<"Zbir svakog "<< P << "-g clana je : ";

for(int i=P-1; i<N; i=i+P)

{s=s+niz[i];}

cout<<s<<" ";

return 0;
}

EKRAN:

Upisi broj clanova N :10

Zelim ispisati svaki P = : 3

Sada upisi clanove :

36

14

12

20
15

100

53

Zbir svakog 3-g clana je : 121

Primjer 9:Napisati program koji ispisuje sumu članova N djeljivi sa P .

RJEŠENJE:

//Ispisuje sumu clanova N koji su djeljivi sa P.

#include <iostream>

using namespace std;

int main()

int polje[100];

int N,i, j,s=0, P;

cout<<"Unesi broj clanova N:";

cin>>N;

for(i = 0; i <N; i++){

cout<< "\nUnesite polje[" << i << "] = ";

cin>> polje[i];

cout<<endl;

cout<< "\nUnesite djelilac :";

cin>>P;

for(i = 0; i < N; i++)

{
if (polje[i]%P==0)

s=s+polje[i];

cout<<" Suma djeljivih sa "<<P<<" ..... "<<s;

return 0;

EKRAN:

Unesi broj clanova N: 6

Unesite polje[0] = 2

Unesite polje[1] = 3

Unesite polje[2] = 6

Unesite polje[3] = 7

Unesite polje[4] = 40

Unesite polje[5] = 12

Unesite djelilac : 3

Suma djeljivih sa 3 ..... 21

Primjer 10:Napisati program koji ispisuje aritmetičku sredinu susjednih članova niza.

RJEŠENJE:

// Aritmeticka sredina susjeda, aritmeticka.cpp

#include <iostream>

using namespace std;

int main()

float niz[100],N;
cout<<"Unesi N: ";

cin>>N;

for(int i=0; i<N; i++)

cin>>niz[i];

for(int i=0; i<N-1; i++)

cout<<((niz[i]+niz[i+1]))/2<<" ";

cout<<endl;

return 0;

EKRAN:

Unesi N: 6

11

15

25

5 6.5 8.5 10.5 20

Primjer 11:Napisati program koji ispisuje kumulativnu sumu članova niza.

RJEŠENJE:

// Kumulativna suma, suma.cpp

#include<cstdlib>

#include <iostream>

using namespace std;


int main()

int i,N,X[100];

int suma = 0;

cout<<"Unesi N: ";

cin>>N;

for( i=0; i<N; i++)

cin>>X[i];

cout<<"Kumulativna suma : ";

for(int i=0; i<N; i++)

suma = suma + X[i];

cout<<suma<<" ";

cout<<endl;

return 0;

EKRAN:

Unesi N:6

12

19

22
Kumulativna suma : 3 7 19 26 45 67

Primjer 12:Napisati program koji ispisuje kvadrate članova niza.

RJEŠENJE:

// Ispisuje kvadrate za N unesenih brojeva, kvadrati.cpp

#include <iostream>

using namespace std;

int main()

int niz[100],N;

cout<<"Unesi N: ";

cin>>N;

for(int i=0; i<N; i++)

cin>>niz[i];

cout<<"Kvadrati clanova :"<<endl;

for(int i=0; i<N; i++)

cout<<niz[i]*niz[i]<<" ";

cout<<endl;

return 0;

EKRAN:

Unesi N: 5

6
12

Kvadrati clanova :

4 9 36 144 25

Primjer 13: Napisati program koji ispisuje kvadrate za svaki treći član niza.

RJEŠENJE:

// Ispisuje kvadrate za svaki treći uneseni broj

#include <iostream>

using namespace std;

int main()

int niz[100],N;

cout<<"Unesi N: ";

cin>>N;

for(int i=1; i<N+1; i++)

cin>>niz[i];

for(int i=1; i<N+1; i++)

if (i%3==0)

cout<<niz[i]*niz[i]<<" ";

cout<<endl;

system("pause");

return 0;

EKRAN:
Unesi N: 9

9 36 81

Primjer 14: Napisati program koji ispisuje sumu članova niza.

RJEŠENJE:

// Ispisuje sumu clanova niza, zbir brojeva.cpp

#include <iostream>

using namespace std;

int main()

int niz[100],i,N,s=0;

cout<<"Unesi N: ";

cin>>N;

for(int i=1; i<N+1; i++)

cin>>niz[i];

for(int i=1; i<N+1; i++)


s=s+niz[i];

cout<<" Suma svih clanova je S = "<<s<<endl;

return 0;

EKRAN:

Unesi N: 5

12

18

Suma svih clanova je S = 43

Primjer 15: Napisati program koji ispisuje sumu clanova N koji su djeljivi sa P.

RJEŠENJE:

//Ispisuje sumu clanova N koji su djeljivi sa P.

#include <iostream>

using namespace std;

int main()

int polje[100];

int N,i, j,s=0, P;

cout<<"Unesi broj clanova N:";

cin>>N;

for(i = 0; i <N; i++){


cout<< "\nUnesite polje[" << i << "] = ";

cin>> polje[i];

cout<<endl;

cout<< "\nUnesite djelilac :";

cin>>P;

for(i = 0; i < N; i++)

if (polje[i]%P==0)

s=s+polje[i];

cout<<" Suma djeljivih sa "<<P<<" ..... "<<s;

return 0;

EKRAN:

Unesi broj clanova N:6

Unesite polje[0] =23

Unesite polje[1] =8

Unesite polje[2] =3

Unesite polje[3] =45

Unesite polje[4] =122

Unesite polje[5] =16

Unesite djelilac :4

Suma djeljivih sa 4 ..... 24


Primjer 16: Napisati program koji Ispisuje sumu kvadrata clanova N koji su djeljivi sa P.

RJEŠENJE:

//Ispisuje sumu kvadrata clanova N koji su djeljivi sa P.

#include <iostream>

using namespace std;

int main()

int polje[100];

int N,i, j,s=0, P;

cout<<"Unesi broj clanova N:";

cin>>N;

for(i = 0; i <N; i++){

cout<< "\nUnesite polje[" << i << "] = ";

cin>> polje[i];

cout<<endl;

cout<< "\nUnesite djelilac :";

cin>>P;

for(i = 0; i < N; i++)

if (polje[i]%P==0)

s=s+polje[i]*polje[i];

cout<<" Suma kvadrata djeljivih sa "<<P<<" ..... "<<s;


return 0;

EKRAN:

Unesi broj clanova N:6

Unesite polje[0] = 29

Unesite polje[1] = 3

Unesite polje[2] = 55

Unesite polje[3] = 200

Unesite polje[4] = 12

Unesite polje[5] = 91

Unesite djelilac :3

Suma kvadrata djeljivih sa 3 ..... 153

Primjer 17:Napisati program koji saopštava parnost članova niza unatraške.

RJEŠENJE:

// Saopstava parnost unatraske, parnost.cpp

#include <iostream>

using namespace std;

int main()

int niz[100],i,N;

cout<<"Unesi N: ";

cin>>N;

for(int i=0; i<N; i++)

cin>>niz[i];
cout<<"Parnost unatrag :"<<endl;

for(int i=N-1; i>=0; i--)

if(niz[i]%2==0)

cout<<"par ";

else

cout<<"nep ";

cout<<endl;

return 0;

EKRAN:

Unesi N:5

12

37

24

Parnost unatrag :

par nep nep par par

Primjer 18: Napisati program koji provjerava mijenjanje vrijednosti članniza


(pada/raste/isto).

RJEŠENJE:

// Provjerava mijenjanje vrijednosti, mijenjanje.cpp

#include <iostream>
using namespace std;

int main()

int niz[100],N,i;

cout<<"Unesi brojeve 0<N<100: ";

cin>>N;

for(int i=0; i<N; i++)

cin>>niz[i];

for(int i=N-1; i>0; i--) // provjeravamo unatraske

if(niz[i]<niz[i-1])

cout<<"raste ";

else if(niz[i]==niz[i-1])

cout<<"isto ";

else

cout<<"pada ";

/* ovdje je [i-1] jer provjeravamo unatraske izmedju clana [i] i onog prije njega [i-1]. */

return 0;

EKRAN:

Unesi brojeve 0<N<100: 6

12
9

26

pada raste raste pada pada

Primjer 19:Napisati program koji sortira unijeti niz članova u opadajući niz.

RJEŠENJE:

#include <iostream>

using namespace std;

int main ()

// DEKLARACIJA

int x[100];

int y[100];

int i, j, N;

// UNOSENJE

cout << "Unesite broj clanova polja 0<N<100: ";

cin >> N;

for (i = 0; i < N; i++)

cout << "Unesite clan br. " << i << ": ";

cin >> x[i];

y[i] = x[i];

// SORTIRANJE
for (i = 0; i < N-1; i++)

for (j = i+1; j < N; j++)

if (y[i] < y[j]) swap(y[i],y[j]);

// STAMPANJE

cout << "x:" << '\t' << "y:" << endl;

for (i = 0; i < N; i++)

cout << x[i] << '\t' << y[i] << endl;

EKRAN:

Unesite broj clanova polja 0<N<100: 5

Unesite clan br. 0: 4

Unesite clan br. 1: 12

Unesite clan br. 2: 3

Unesite clan br. 3: 19

Unesite clan br. 4: 46

X: y:

4 46

12 19

3 12
19 4

46 3

Primjer 20:Unesi niz od N cijelih brojeva te ispiši sortiran niz od najmanjeg(min) do


najvećeg(max).
RJEŠENJE:
#include
<cstdlib>
#include <iostream>
using namespace std;
int main()
{
int A[100];
int N,i, j, temp;
cout<<"Unesi N:";
cin>>N;
for(i = 0; i < N; i++){
cout<< "\nUnesite polje[" << i << "] = ";
cin>> A[i];
}
// sortiranje niza (od najmanjeg do najvećeg)
for(i = 0; i < N-1; i++)
for(j = i+1; j < N; j++)
if(A [i] > A[j]){
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
for(i = 0; i<N; i++)
cout<< A[i] << "\n";
system ("PAUSE");
return 0;
}

EKRAN:

Unesi N : 6

Unesite polje[0] = 12

Unesite polje[1] = 3

Unesite polje[2] = 165

Unesite polje[3] = 53

Unesite polje[4] = 7
Unesite polje[5] = 25

12

25

53

165

Primjer 21: Ispisuje proizvod članova na parnim i proizvod članova na nepernim mjestima
tj.svakog trećeg člana niza (prvi*treći,drugi*četvrti,treći*peti...)

RJEŠENJE:

#include <iostream>

using namespace std;

int main()

int niz[100],N;

cout<<"Unesi N : ";

cin>>N;

for(int i=0; i<N; i++)

cin>>niz[i];

for(int i=0; i<N-2; i++)

cout<<niz[i+2]*niz[i]<<" ";

cout<<endl;

return 0;

EKRAN:
Unesi N: 7

11

15

18 55 12 44 30

Primjer 22: Ispisuje proizvod susjednih članova niza.

RJEŠENJE:

//Ispisuje proizvod susjednih clanova niza

#include <iostream>

using namespace std;

int main()

int niz[100],N;

cout<<"Unesi N : ";

cin>>N;

for(int i=0; i<N; i++)

cin>>niz[i];

cout<<"Proizvod susjednih clanova :"<<endl;

for(int i=0; i<N-1; i++)

{
cout<<(niz[i]*niz[i+1])<<" ";

cout<<endl;

return 0;

EKRAN:

Unesi N : 6

12

Proizvod susjednih clanova :

10 15 36 48 24

Primjer 23: Ispisuje sumu-zbir članova niza.

RJEŠENJE:

#include <cstdlib>

#include <iostream>

using namespace std;

int main()

int i,N, broj,s=0;

cout <<"Unesi N : ";


cin>>N;

i=1; /*postavljanje varijable i na vrijednost 1 */

while (i<=N) /* petlja se vrti dok je varijabla i<=N */

cout <<"\n Unesi "<<i<<". broj = ";

cin >> broj; /* unos broja */

s=s+broj; /* pribrajanje unesenog broja varijabli s(suma)*/

i=i+1; /*povećavanje kontrolne varijable za 1 te vraćanje na ispitivanje


uvjeta u while*/

cout<<"\n Zbir unesenih brojeva je "<<s<<"\n";

return 0;

EKRAN:

Unesi N : 4

Unesi 1. broj = 34

Unesi 2. broj = 12

Unesi 3. broj = 8

Unesi 4. broj = 23

Zbir unesenih brojeva je 77

Primjer 24: Napisati program koji Ispisuje sumu i aritmetičku sredinu članova niza.

RJEŠENJE:

//Ispisuje sumu i aritmetičku sredinu unijetih clanova niza.

#include <iostream>
using namespace std;

int main () {

int broj,N,suma=0;

float asred;

cout<<" Upisi N : ";

cin>>N;

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

cout<<i<< ".broj:";

cin>>broj;

suma+=broj;

};

asred=(float)suma/N;

cout<<"suma="<<suma<<endl;

cout<<"a.sredina="<<asred<<endl;

return 0;

EKRAN:

Upisi N : 6

1.broj:12

2.broj:7

3.broj:23

4.broj:9

5.broj:4

6.broj:35

suma=90
a.sredina=15

Primjer 25: Napisati program koji Ispisuje članove niza N koji su djeljivi sa P.

RJEŠENJE:

#include <cstdlib>

#include <iostream>

using namespace std;

int main()

int polje[100];

int N,i, j, P;

cout<<"Unesi broj clanova N:";

cin>>N;

for(i = 0; i <N; i++){

cout<< "\nUnesite polje[" << i << "] = ";

cin>> polje[i];

cout<<endl;

cout<< "\nUnesite djelilac :";

cin>>P;

for(i = 0; i < N; i++)

if (polje[i]%P==0)

cout<<"\n Clanovi djeljivi sa "<<P<<" ..... " <<polje[i];

}
return 0;

EKRAN:

Unesi broj clanova N:6

Unesite polje[0] = 23

Unesite polje[1] = 12

Unesite polje[2] = 70

Unesite polje[3] = 47

Unesite polje42] = 135

Unesite polje[3] = 91

Unesite djelilac :5

Clanovi djeljivi sa 5 .... 70

Clanovi djeljivi sa 5 .... 135

Primjer 26: Napisati program koji Ispisuje najmanji (min) i najveći (max) član niza.

RJEŠENJE:

#include <cstdlib>

#include <iostream>

using namespace std;

int main()

int polje[100];

int N,i, j, min,max;

cout<<"Unesi broj clanova N:";

cin>>N;
for(i = 0; i < N; i++){

cout<< "\nUnesite polje[" << i << "] = ";

cin>> polje[i];

min=polje[0];

// traženje najmanjeg

for(i = 0; i < N; i++)

if(polje [i] < min){

min = polje[i];

max=polje[0];

// traženje najvećeg

for(i = 0; i < N; i++)

if(polje [i] > max){

max = polje[i];

cout<< "\n Najmanji clan je: "<<min;

cout<< "\n Najveci clan je: "<<max;

return 0;

EKRAN:

Unesi broj clanova N:6

Unesite polje[0] = 23

Unesite polje[1] = 2

Unesite polje[2] = 55
Unesite polje[3] = 47

Unesite polje[4] = 194

Unesite polje[5] = 8

Najmanji clan je: 2

Najveci clan je: 194

Primjer 27: Napisati program koji Ispisuje najveći (max) član niza i njegovu poziciju(redni
broj) u nizu.

RJEŠENJE:

#include <iostream>

using namespace std;

int main () {

int n=0, a[100];

char dn;

do {

cout << "Unesite " << n+1 << "-ti broj: ";

cin >> a[n++];

cout << "Zelite li unijeti jos brojeva (d/n)? ";

cin >> dn;

} while (dn=='d');

int max=a[0],pmax=0;

for (int i=1;i<n;i++)

if (a[i]>max) {

max=a[i];

pmax=i;

}
cout << "Najveci broj u polju je broj " << max << " na poziciji " << pmax+1 <<
endl;

return 0;

EKRAN:

Unesite 1-i broj: 23

Zelite li unijeti jos brojeva (d/n)? d

Unesite 2-i broj: 7

Zelite li unijeti jos brojeva (d/n)? d

Unesite 3-i broj: 264

Zelite li unijeti jos brojeva (d/n)? d

Unesite 4-i broj: 105

Zelite li unijeti jos brojeva (d/n)? n

Najveci broj u polju je broj 264 na poziciji 3

Primjer 28: Napisati program koji sortira polja.

RJEŠENJE:

//Jednostavno sortiranje polja:

#include <iostream>

using namespace std;

int main () {

int n=0, a[100],pom;

char dn;

do {

cout << "Unesite " << n+1 << "-i broj: ";

cin >> a[n++];


cout << "Zelite li unijeti jos brojeva (d/n)? ";

cin >> dn;

} while (dn=='d');

for (int i=0;i<n-1;i++)

for (int j=i+1;j<n;j++)

if (a[i]>a[j]) {

pom=a[i];

a[i]=a[j];

a[j]=pom;

for (int i=0;i<n;i++) cout << a[i] << endl;

return 0;

Primjer 29: Napisati program za ispis članova matrice.

RJEŠENJE:

#include <iostream>

using namespace std;

int main() {

int i, j, x, y, **matrica; // definirajmo brojace, velicinu polja, i matricu

cout << "x: "; // upisimo dimenzije

cin >> x;

cout << "y: ";

cin >> y;

matrica=new int*[y]; // napravimo polje dimenzije y...


for (i=0; i<y; i++) { // i onda u svakom njegovom elementu

matrica[i]=new int[x]; // napravimo polje dimenzije x

for (j=0; j<x; j++) { // i mozemo upisati element tog polja

cout << "[" << i << "][" << j << "]: ";

cin >> matrica[i][j]; // upisati vrijednost

return 0;

Primjer 30: Napisati program koji ispisuje najveći(max) član upisane matrice.

RJEŠENJE:

//Ispisuje najveći član poznate matrice

#include <iostream>

using namespace std;

const int redovi = 3;

const int kolone = 4;

int godDobTemp[redovi][kolone] = {

{26, 34, 22, 17},

{24, 32, 49, 13},

{28, 38, 25, 20}

};

int najvecaTemp (int temp[redovi][kolone])

int najveca = 0;
for (int i = 0; i < redovi; ++i)

for (int j = 0; j < kolone; ++j)

if (temp[i][j] > najveca)

najveca = temp[i][j];

return najveca;

main ()

Cout<<“Najveci(max) clan je .... „;

cout << najvecaTemp(godDobTemp) << "\n";

return 0;

EKRAN:

Najveci(max) clan je .... 49

Primjer 31: Napisati program koji ispisuje najveći(max) član matrice.

RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

main()

int n,a[dim][dim],max=0;

cout << "Unesi broj kolona i redova N = ";

cin >> n;
for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"a["<<i<<","<<j<<"]=";

cin >>a[i][j];

if (a[i][j]>max)

max=a[i][j];

cout<<"Najveci clan je : "<<max<<endl;

system ("pause");

return 0;

Primjer 32: Napisati program koji ispisuje članove pomnožene sa najvećim članom upisane
matrice.

RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

main()

int n,a[dim][dim],b[dim][dim],max=0;

cout << "Unesi redova i kolona N =";

cin >> n;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

{
cout <<"a["<<i<<","<<j<<"]=";

cin >>a[i][j];

if (a[i][j]>max)

max=a[i][j];

b[i][j]=max*a[i][j];

cout<<" Matrica ciji su clanovi pomnozeni sa max = : "<<max<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"b["<<i<<","<<j<<"]="<<max*a[i][j]<<endl;

system ("pause");

return 0;

Primjer 33: Napisati program koji ispisuje sumu(zbir)članova u redu ,a zatim proizvod
članova u koloni upisane matrice.

RJEŠENJE:

#include <iostream.h>

#define max 10

main ()

int matrica[max][max], suma[max], proizvod[max];

int n,s=0,p=1;

cout << "Unesi br.kolona i redova n=";

cin >> n;
for (int i=1; i<=max; i++)

suma[i]=0;

proizvod[i]=1;

for (int i=1; i<=n; i++)

for (int j=1; j<=n; j++)

cout <<"Mat["<<i<<","<<j<<"]=";

cin >> matrica[i][j];

suma[j]+=matrica[i][j];

proizvod[i]*=matrica[i][j];

cout<<" Suma reda matrice :";

cout<<endl;

for (int i=1; i<=n; i++)

cout<<"Suma["<<i<<"]="<<suma[i]<<endl;

cout<<" Proizvod kolone matrice :";

cout<<endl;

for (int i=1; i<=n; i++)

cout<<"Proizvod["<<i<<"]="<<proizvod[i]<<endl;

return 0;

Primjer 34: Napisati program za unos dvije matrice i ispis matrice koja je jednaka njihovom
zbiru(sumi) .
RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

main()

int n,a[dim][dim],b[dim][dim],c[dim][dim];

cout << "Unesi broj redova i kolona N = ";

cin >> n;

cout<<" Unesi clanove matrice A: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"a["<<i<<","<<j<<"]=";

cin >>a[i][j];

cout<<" Sada unesi clanove matrice B: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"b["<<i<<","<<j<<"]=";

cin >>b[i][j];
c[i][j]=a[i][j]+b[i][j];

cout<<" Zbir ove dvije matrice je matrica C: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"c["<<i<<","<<j<<"]="<<a[i][j]+b[i][j]<<endl;

system ("pause");

return 0;

Primjer 35: Napisati program za ispis članova matrice koji su proizvod istoimenih članova
dvije matrice (c[1,0]=a[1,0]*b[1,0]... ).

RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

main()

int n,a[dim][dim],b[dim][dim],c[dim][dim];

cout << "Unesi broj redova i kolona N = ";

cin >> n;

cout<<" Unesi clanove matrice A: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];

cout<<" Sada unesi clanove matrice B: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"b["<<i<<","<<j<<"]=";

cin >>b[i][j];

c[i][j]=a[i][j]*b[i][j];

cout<<" Proizvod istoimenih clanova je matrica C: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"c["<<i<<","<<j<<"]="<<a[i][j]*b[i][j]<<endl;

system ("pause");

return 0;

Primjer 36: Napisati program za množenje matrice vektorom.

RJEŠENJE:

//Množenje matrice vektorom.

#include <iostream>
using namespace std;

int main () {

// Unos

int m,n, a[30][30], x[30], b[30];

cout << "Unesite broj kolona u matrici: ";

cin >> m;

cout << "Unesite broj redova matrice: ";

cin >> n;

for (int i=0; i<n; i++)

for (int j=0; j<m; j++) {

cout << "Unesite a(" << i << "," << j << "): ";

cin >> a[i][j];

cout << endl;

for (int i=0; i<m; i++) {

cout << "Unesite x(" << i << ")";

cin >> x[i];

// Racunanje

for (int i=0; i<n; i++) b[i]=0;

for (int i=0;i<n; i++)

for (int j=0; j<m; j++)

b[i]+=a[i][j];

// Ispis

cout << endl;


for (int i=0;i<n;i++)

cout << b[i] << endl;

return 0;

Primjer 37: Napisati program za sumu (zbir) tri matrice.

RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

main()

int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim];

cout << "Unesi broj redova i kolona N = ";

cin >> n;

cout<<" Unesi clanove matrice A: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"a["<<i<<","<<j<<"]=";

cin >>a[i][j];

cout<<" Unesi clanove matrice B: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)


{

cout <<"b["<<i<<","<<j<<"]=";

cin >>b[i][j];

cout<<" Unesi clanove matrice C: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"c["<<i<<","<<j<<"]=";

cin >>c[i][j];

d[i][j]=a[i][j]+b[i][j]+c[i][j];

cout<<" Suma ove tri matrice je matrica D: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"d["<<i<<","<<j<<"]="<<a[i][j]+b[i][j]+c[i][j]<<endl;

system ("pause");

return 0;

}
Primjer 38: Napisati program za unos imena i prezimena.

RJEŠENJE:

//Unos imena i prezimena:

#include <iostream>

using namespace std;

int main () {

char ime[40], adresa [50];

int starost;

cout << "Upisite ime i prezime: ";

cin.getline(ime,sizeof(ime));

cout << "Upisite svoju starost: ";

cin >> starost;

cout << "Upisite adresu: ";

cin.getline(adresa,sizeof(adresa));

cin.getline(adresa,sizeof(adresa));

cout << endl << ime << endl << starost << " godina" << endl << adresa << endl;

return 0;

Matrice
Primjer 1:

Napisati program za ispis članova kvadratne NxN matrice.

RJEŠENJE:

#include <iostream>
#define dim 10

using namespace std;

int main()

int n,i,a[dim][dim];

cout << " Upisi br.redova i kolona matrice nxn = ";

cin >> n;

cout<<endl;

cout<<"Unesi clanove :"<<endl;

for (int i=1;i<=n;i++)

for (int j=1;j<=n; j++)

cout <<" a["<<i<<","<<j<<"]=";

cin >>a[i][j];

cout<<endl;

cout<<" Upisana matrica je : "<<endl;

for(int i=1; i<=n; i++)

for (int j=1; j<=n; j++)

cout <<a[i][j]<<" \t ";

cout<<endl;

return 0;

}
EKRAN:

Upisi br.redova i kolona matrice nxn = 3

Unesi clanove :

a[1,1]=12

a[1,2]=3

a[1,3]=962

a[2,1]=23

a[2,2]=7

a[2,3]=18

a[3,1]=156

a[3,2]=77

a[3,3]=3471

Upisana matrica je :

12 3 962

23 7 18

156 77 3471

Primjer 2:

Napisati program za ispis članova pravougaone matrice MxN.

RJEŠENJE:

#include <iostream>

#define brr 10

#define brk 10

using namespace std;

int main()

{
int n,i,j,m,a[brr][brk];

cout << " Upisi br.redova m = ";

cin >> n;

cout << " Upisi br.kolona n = ";

cin>>m;

cout<<endl;

cout<<"Unesi clanove :"<<endl;

for (int i=1;i<=n;i++)

for (int j=1;j<=m; j++)

cout <<" a["<<i<<","<<j<<"]=";

cin >>a[i][j];

cout<<endl;

cout<<" Upisana matrica je : "<<endl;

for(int i=1; i<=n; i++)

for (int j=1; j<=m; j++)

cout <<a[i][j]<<" \t ";

cout<<endl;

return 0;

EKRAN:

Upisi br.redova m = 2
Upisi br.kolona n = 3

Unesi clanove :

a[1,1]=2

a[1,2]=13

a[1,3]=1557

a[2,1]=34

a[2,2]=921

a[2,3]=45

Upisana matrica je :

2 13 1527

34 921 45

Primjer 3:

Napisati program koji ispisuje najveći(max) član upisane matrice.

RJEŠENJE:

//Ispisuje najveći član poznate matrice

#include <iostream>

using namespace std;

const int redovi = 3;

const int kolone = 4;

int godDobTemp[redovi][kolone] = {

{26, 34, 22, 17},

{24, 32, 49, 13},

{28, 38, 25, 20}

};

int najvecaTemp (int temp[redovi][kolone])


{

int najveca = 0;

for (int i = 0; i < redovi; ++i)

for (int j = 0; j < kolone; ++j)

if (temp[i][j] > najveca)

najveca = temp[i][j];

return najveca;

main ()

Cout<<“Najveci(max) clan je .... „;

cout << najvecaTemp(godDobTemp) << "\n";

return 0;

EKRAN:

Najveci(max) clan je .... 49

Primjer 4:

Napisati program koji ispisuje najveći(max) član kvadratne matrice NxN.

RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

main()

int n,a[dim][dim],max=0;
cout << "Unesi broj kolona i redova N = ";

cin >> n;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"a["<<i<<","<<j<<"]=";

cin >>a[i][j];

if (a[i][j]>max)

max=a[i][j];

cout<<"Najveci clan je : "<<max<<endl;

system ("pause");

return 0;

EKRAN:

Unesi broj kolona i redova N = 3

a[1,1]=312

a[1,2]=73

a[1,3]=92

a[2,1]=235

a[2,2]=7

a[2,3]=1398

a[3,1]=156

a[3,2]=717

a[3,3]=471
Najveci clan je : 1398

Primjer 5:

Napisati program koji ispisuje najveći(max) član pravougaone matrice MxN.

RJEŠENJE:

//Ispisuje najveci clan matrice MxN

#include <iostream>

#define brr 10

#define brk 10

using namespace std;

int main()

int n,m,a[brr][brk],max=0;

cout << "Unesi broj redova m = ";

cin >> m;

cout << "Unesi broj kolona n = ";

cin >> n;

cout<<endl;

cout<<"Upisi clanove matrice :"<<endl;

for (int i=1; i<=m; i++)

for (int j=1;j<=n; j++)

cout <<" a["<<i<<","<<j<<"]=";

cin >>a[i][j];

if (a[i][j]>max)

max=a[i][j];
}

cout<<endl;

cout<<" Upisana matrica je : ";

for(int i=1; i<=m; i++)

cout << endl;

for (int j=1; j<=n; j++)

cout <<a[i][j]<<" \t ";

cout<<endl;

cout<<endl;

cout<<"Najveci clan je : "<<max<<endl;

return 0;

EKRAN:

Unesi broj redova m = 3

Unesi broj kolona n = 4

Upisi clanove matrice :

a[1,1]=23

a[1,2]=12

a[1,3]=56

a[1,4]=123

a[2,1]=4

a[2,2]=987

a[2,3]=15
a[2,4]=3163

a[3,1]=439

a[3,2]=2987

a[3,3]=152

a[3,4]=88

Upisana matrica je :

23 12 56 123

4 921 15 3163

439 2987 152 82

Najveci clan je : 3163

Primjer 6:

Napisati program koji ispisuje članove pomnožene sa najvećim članom upisane kvadratne
matrice NxN .

RJEŠENJE:

//Ispisuje najveći(max)clan matrice i matricu pomnozenu sa max.clanom

#include <iostream>

#define dim 10

using namespace std;

int main()

int n,i,a[dim][dim],b[dim][dim],max=0;

cout << "Unesi br.redova i kolona n=";

cin >> n;

for (int i=1;i<=n;i++)

for (int j=1;j<=n; j++)

{
cout <<" a["<<i<<","<<j<<"]=";

cin >>a[i][j];

if (a[i][j]>max)

max=a[i][j];

b[i][j]=max*a[i][j];

cout<<endl;

cout<<"Najveci clan matrice je : "<<max<<endl;

cout<<endl;

cout<<" Clanovi matrice pomnozenih sa... "<<max<< " su: "<<endl;

for (int i=1;i<=n;i++)

for (int j=1;j<=n; j++)

cout <<" a["<<i<<","<<j<<"]="<<max*a[i][j]<<endl;

b[i][j]=max*a[i][j];

cout<<endl;

cout<<"Dobivena matrica je : "<<endl;

for(int i=1; i<=n; i++)

for (int j=1; j<=n; j++)

cout <<b[i][j]<<" \t ";

cout<<endl;

return 0;
}

EKRAN:

Unesi br.redova i kolona n = 3

a[1,1]=2

a[1,2]=8

a[1,3]=11

a[2,1]=1

a[2,2]=4

a[2,3]=21

a[3,1]=12

a[3,2]=33

a[3,3]=5

Najveci clan matrice je : 33

Clanovi matrice pomnozenih sa... 33 su:

a[1,1]=66

a[1,2]=264

a[1,3]=363

a[2,1]=33

a[2,2]=132

a[2,3]=693

a[3,1]=396

a[3,2]=1089

a[3,3]=165

Dobivena matrica je :

66 264 363
33 132 693

396 1089 165

Primjer 7:

Napisati program koji ispisuje pravougaonu matricu MxN i matricu A sortiranu po redovima
min...max.

RJEŠENJE:

//Ispisuje matricu mxn i matricu A sortiranu po redovima

#include <cstdlib>

#include <iostream>

using namespace std;

unsigned int m,n;

int i,j,k;

float A['m']['n'];

int main()

cout<<"Unesite broj redova m = "; cin>>m;

cout<<"Unesite broj kolona n = "; cin>>n;

cout<<"Upisi clanove matrice A :"<<endl;

// Unos elemenata matrice po redovima (za unos po kolonama zamijeniti mjesta indeksima)

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<"A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];

}}

cout<<endl;

cout<<"Upisana je matrica A:"<<endl;

// Ispis elemenata matrice


for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<A[i][j]<<"\t";

cout<<"\n";

// Sortirati matricu A['m']['n'] po redovima od najmanjeg do najveceg elemnta

for(i=0; i<m; i++){

for(j=0; j<n-1; j++){

for(k=j+1; k<n; k++){

if(A[i][k]<A[i][j]){

float pom=A[i][j];

A[i][j]=A[i][k];

A[i][k]=pom;}

}}}

// Ispis elemenata matrice

cout<<"\nMatrica A sortirana po redovima je:\n";

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<A[i][j]<<"\t";

cout<<"\n";

system("PAUSE");
return 0;

EKRAN:

Unesite broj redova m = 3

Unesite broj kolona n = 4

Upisi clanove matrice A :

a[0,0]=231

a[0,1]=1284

a[0,2]=56

a[0,3]=123

a[1,0]=477

a[1,1]=79

a[1,2]=15

a[1,3]=3163

a[2,0]=639

a[2,1]=2987

a[2,2]=152

a[2,3]=82

Upisana matrica je :

231 1284 56 123

477 79 15 3163

639 2987 152 82

Matrica A sortirana po redovima je:

56 123 231 1284

15 79 477 3163
82 152 639 2987

Primjer 8:

Napisati program koji ispisuje pravougaonu matricu MxN i max.clanove po redovima


upisane matrice.

RJEŠENJE:

#include <cstdlib>

#include <iostream>

using namespace std;

unsigned int m,n;

int i,j,k;

float A['m']['n'],R['m'];

int main()

cout<<"Unesite broj redova m = "; cin>>m;

cout<<"Unesite broj kolona n = "; cin>>n;

cout<<"Unesi elemente matrice A :"<<endl;

// Unos elemenata matrice po redovima (za unos po kolonama zamijeniti mjesta indeksima)

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];

}}

cout<<endl;

cout<<"Upisana je matrica A:"<<endl;

// Ispis elemenata matrice

for(i=0; i<m; i++){

for(j=0; j<n; j++){


cout<<A[i][j]<<"\t";

cout<<"\n";

// Trazenje najveceg elementa matrice A

unsigned int i_max=0,j_max=0; //pretpostavljamo da je prvi elemnt najveci

for(i=0; i<m; i++){

for(j=0; j<n; j++){

if(A[i][j]>A[i_max][j_max]){

i_max=i;

j_max=j;

}}}

// Naci najveci element svakog reda matrice i pridruziti ga odgovarajucem

// elementu niza R['m']

for(i=0; i<m; i++){

j_max=0;

for(j=1; j<n; j++){

if(A[i][j]>A[i][j_max]) j_max=j;

R[i]=A[i][j_max];

cout<<"Najveci elementi redova matrice A su:\n";

for(i=0; i<m; i++){cout<<R[i]<<" ";}

cout<<"\n";

system("PAUSE");
return 0;

EKRAN:

Unesite broj redova m = 3

Unesite broj kolona n = 4

Unesi elemente matrice A :

a[0,0]=2

a[0,1]=584

a[0,2]=26

a[0,3]=123

a[1,0]=847

a[1,1]=79

a[1,2]=5

a[1,3]=7163

a[2,0]=639

a[2,1]=2987

a[2,2]=211

a[2,3]=38

Upisana matrica je :

2 584 26 123

847 79 5 7163

639 2987 211 38

Najveci elementi redova matrice A su:

584 7163 2987


Primjer 9:

Napisati program koji ispisuje matricu A,sumu(zbir)elemenata i srednju vrijednost clanova.

RJEŠENJE:

//Ispisuje sumu (zbir) i srednju vrijednost clanova pravougaone matrice A

#include <cstdlib>

#include <iostream>

using namespace std;

unsigned int m,n;

int i,j,k;

float A['m']['n'];

int main()

cout<<"Unesite broj redova m = "; cin>>m;

cout<<"Unesite broj kolona n = "; cin>>n;

cout<<"Upisi clanove matrice A :"<<endl;

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];

}}

cout<<endl;

cout<<"Upisana je matrica A:"<<endl;

// Ispis elemenata matrice

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<A[i][j]<<"\t";
}

cout<<"\n";

// Suma i srednja vrijednost elemenata matrice

float suma=0;

for(i=0; i<m; i++){

for(j=0; j<n; j++){

suma+=A[i][j]; // suma=suma+A[i][j];

}}

cout<<endl;

cout<<"Suma svih elemenata matrice je "<<suma

<<", a srednja vrijednost je "<<suma/(m*n)<<".\n";

system("PAUSE");

return 0;

EKRAN:

Unesite broj redova m = 3

Unesite broj kolona n = 4

Upisi clanove matrice A :

a[0,0]=24

a[0,1]=5

a[0,2]=11

a[0,3]=53

a[1,0]=8
a[1,1]=90

a[1,2]=15

a[1,3]=3

a[2,0]=392

a[2,1]=28

a[2,2]=2

a[2,3]=86

Upisana je matrica A :

24 5 11 53

8 90 15 3

392 28 2 86

Suma svih elemenata matrice je 717, a srednja vrijednost je 59.75.

Primjer 10:

Napisati program koji ispisuje kvadratnu matricu A,sumu elemenata reda i zbir clanova
kolone.

RJEŠENJE:

//Ispisuje matricu,sumu cl.kolone i sumu cl.reda

#include <iostream.h>

#define max 10

main ()

int matrica[max][max], sk[max], sr[max];

int n,s=0,p=1;

cout << " Unesi br.redova i kolona matrice nxn = ";

cin >> n;

for (int i=1; i<=max; i++)


{

sk[i]=0;

sr[i]=0;

for (int i=1; i<=n; i++)

for (int j=1; j<=n; j++)

cout <<"polje["<<i<<","<<j<<"]=";

cin >> matrica[i][j];

sk[j]+=matrica[i][j];

sr[i]+=matrica[i][j];

cout<<endl;

cout<<" Upisana matrica je : "<<endl;

for(int i=1; i<=n; i++)

cout << endl;

for (int j=1; j<=n; j++)

cout <<matrica[i][j]<<" \t ";

cout<<endl;

for (int i=1; i<=n; i++)

cout<<" Suma kolone ["<<i<<"] = "<<sk[i]<<endl;

cout<<endl;

for (int i=1; i<=n; i++)


cout<<"Suma reda ["<<i<<"] = "<<sr[i]<<endl;

return 0;

EKRAN:

Unesi br.redova i kolona matrice nxn = 3

polje[1,1]=12

polje[1,2]=378

polje[1,3]=4

polje[2,1]=98

polje[2,2]=11

polje[2,3]=2

polje[3,1]=61

polje[3,2]=9

polje[3,3]=20

Upisana matrica je :

12 378 4

98 111 2

61 9 20

Suma kolone [1] = 171

Suma kolone [2] = 498

Suma kolone [3] = 26

Suma reda [1] = 394

Suma reda [2] = 211

Suma reda [1] = 90

Primjer 11:
Napisati program koji ispisuje pravugaonu matricu MxN, proizvod clanova kolone i sumu
elemenata reda upisane matrice .

RJEŠENJE:

//Ispisuje matricu,proizvod cl.kolone i sumu cl.reda

#include <iostream>

#define brr 10

#define brk 10

using namespace std;

int main ()

int matrica[brr][brk], pk[brk], sr[brr];

int n,m;

cout << " Unesi br.redova : ";

cin >> n;

cout << " Unesi br.kolona : ";

cin>>m;

cout<<endl;

cout<<"Unesi clanove :"<<endl;

for (int i=1; i<=brr; i++)

for (int j=1; i<=brk; i++)

pk[i]=1;

sr[i]=0;

for (int i=1; i<=n; i++)

for (int j=1; j<=m; j++)


{

cout <<"polje["<<i<<","<<j<<"]=";

cin >> matrica[i][j];

pk[j]*=matrica[i][j];

sr[i]+=matrica[i][j];

cout<<endl;

cout<<" Upisana matrica je : ";

for(int i=1; i<=n; i++)

cout << endl;

for (int j=1; j<=m; j++)

cout <<matrica[i][j]<<" \t ";

cout<<endl;

for (int i=1; i<=m; i++)

cout<<" Proizvod kolone ["<<i<<"] = "<<pk[i]<<endl;

cout<<endl;

for (int i=1; i<=n; i++)

cout<<"Suma reda ["<<i<<"] = "<<sr[i]<<endl;

return 0;

EKRAN:

Unesi br.redova m = 3

Unesi br.kolopna n = 4
polje[1,1]=12

polje[1,2]=378

polje[1,3]=4

polje[1,4]=214

polje[2,1]=98

polje[2,2]=11

polje[2,3]=2

polje[2,4]=43

polje[3,1]=61

polje[3,2]=9

polje[3,3]=20

polje[3,4]=742

Upisana matrica je :

12 378 4 214

98 111 2 43

61 9 20 742

Proizvod kolone [1] = 71736

Proizvod kolone [2] = 37422

Proizvod kolone [3] = 16 0

Proizvod kolone [4] = 6827884

Suma reda [1] = 608

Suma reda [2] = 244

Suma reda [1] = 832

Primjer 12:

Napisati program koji ispisuje pravugaonu matricu MxN,proizvod elemenata reda i


proizvod clanova kolone.
RJEŠENJE:

//Ispisuje pravougaonu matricu,proizvod cl.kolone i proizvod cl.reda

#include <iostream>

#define brr 10

#define brk 10

using namespace std;

int main ()

int matrica[brr][brk], pk[brk], pr[brr];

int n,m;

cout << " Unesi br.redova : ";

cin >> n;

cout << " Unesi br.kolona : ";

cin>>m;

cout<<endl;

cout<<"Unesi clanove :"<<endl;

for (int i=1; i<=brr; i++)

for (int j=1; i<=brk; i++)

pk[i]=1;

pr[i]=1;

for (int i=1; i<=n; i++)

for (int j=1; j<=m; j++)

{
cout <<"polje["<<i<<","<<j<<"]=";

cin >> matrica[i][j];

pk[j]*=matrica[i][j];

pr[i]*=matrica[i][j];

cout<<endl;

cout<<" Upisana matrica je : ";

for(int i=1; i<=n; i++)

cout << endl;

for (int j=1; j<=m; j++)

cout <<matrica[i][j]<<" \t ";

cout<<endl;

for (int i=1; i<=m; i++)

cout<<" Proizvod kolone ["<<i<<"] = "<<pk[i]<<endl;

cout<<endl;

for (int i=1; i<=n; i++)

cout<<"Proizvod reda ["<<i<<"] = "<<pr[i]<<endl;

return 0;

EKRAN:

Unesi br.redova m = 2

Unesi br.kolopna n = 3

polje[1,1]=2
polje[1,2]=4

polje[1,3]=11

polje[2,1]=3

polje[2,2]=6

polje[2,3]=22

Upisana matrica je :

2 4 11

3 6 22

Proizvod kolone [1] = 6

Proizvod kolone [2] = 24

Proizvod kolone [3] = 232

Proizvod reda [1] = 88

Proizvod reda [2] = 396

Primjer 13:

Napisati program koji ispisuje proizvod članova u koloni ,sumu(zbir)članova u redu upisane
matrice a zatim matricu ciji su clanovi pomnozeni sa 2.

RJEŠENJE:

#include <iostream>

#define brr 10

#define brk 10

using namespace std;

int main ()

int matrica[brr][brk], sk[brk], pr[brr];

int n,m;
cout << " Unesi br.redova : ";

cin >> n;

cout << " Unesi br.kolona : ";

cin>>m;

cout<<endl;

cout<<"Unesi clanove :"<<endl;

for (int i=1; i<=brr; i++)

for (int j=1; i<=brk; i++)

sk[i]=0;

pr[i]=1;

for (int i=1; i<=n; i++)

for (int j=1; j<=m; j++)

cout <<"polje["<<i<<","<<j<<"]=";

cin >> matrica[i][j];

sk[j]+=matrica[i][j];

pr[i]*=matrica[i][j];

cout<<endl;

cout<<" Upisana matrica je : ";

for(int i=1; i<=n; i++)

cout << endl;


for (int j=1; j<=m; j++)

cout <<matrica[i][j]<<" \t ";

cout<<endl;

for (int i=1; i<=m; i++)

cout<<" Suma kolone ["<<i<<"] = "<<sk[i]<<endl;

cout<<endl;

for (int i=1; i<=n; i++)

cout<<"Proicvod reda ["<<i<<"] = "<<pr[i]<<endl;

cout<<endl;

cout<<" Matrica sa clanovima pomnozeni sa 2 je : ";

for(int i=1; i<=n; i++)

cout << endl;

for (int j=1; j<=m; j++)

cout <<matrica[i][j]*2<<" \t ";

return 0;

EKRAN:

Unesi br.redova m = 3

Unesi br.kolopna n = 4

polje[1,1]=2

polje[1,2]=1

polje[1,3]=3
polje[1,4]=23

polje[2,1]=11

polje[2,2]=6

polje[2,3]=5

polje[2,4]=33

polje[3,1]=100

polje[3,2]=20

polje[3,3]=15

polje[3,4]=9

Upisana matrica je :

2 1 3 23

11 6 5 33

1 00 20 15 9

Suma kolone [1] = 113

Suma kolone [2] = 27

Suma kolone [3] = 23

Suma kolone [4] = 65

Proizvod reda [1] = 138

Proizvod reda [2] = 10890

Proizvod reda [1] = 270000

Matrica sa clanovima pomnozeni sa 2 je :

4 2 6 46

22 12 10 66

2 00 40 30 18

Primjer 14:
Napisati program za unos matrice A , ispis zbira(sume) clanova i ispis sume(zbira)
elementa koji su djeljivi sa 2.

RJEŠENJE:

//suma clanova djeljivih sa 2

#include <iostream>

#define dim 10

using namespace std;

int main()

int n,i,a[dim][dim],zbir;

cout << " Upisi br.redova i kolona matrice nxn = ";

cin >> n;

cout<<endl;

cout<<"Unesi clanove :"<<endl;

for (int i=1;i<=n;i++)

for (int j=1;j<=n; j++)

cout <<" a["<<i<<","<<j<<"]=";

cin >>a[i][j];

zbir=0;

for(int i=1;i<=n;i++)

for(int j=1;j<=n;j++)

{
if(a[i][j]%2==0)

zbir=zbir+a[i][j];

cout<<endl;

cout<<" Upisana matrica je : "<<endl;

for(int i=1; i<=n; i++)

for (int j=1; j<=n; j++)

cout <<a[i][j]<<" \t ";

cout<<endl;

cout<<"Suma clanova djeljivih sa 2 je : "<<zbir<<endl;

return 0;

EKRAN:

Unesi br.redova i kolona matrice nxn = 3

Unesi clanove :

a[1,1]=1

a[1,2]=2

a[1,3]=3

a[2,1]=4

a[2,2]=5

a[2,3]=6

a[3,1]=7
a[3,2]=8

a[3,3]=10

Upisana matrica je :

1 2 3

4 5 6

7 8 10

Suma clanova djeljivih sa 2 je : 30

Primjer 15:

Napisati program za unos matrice A , ispis broja clanova koji su djeljivi sa 3 i broj clanova
djeljivih sa 2 .

RJEŠENJE:

//Ispisuje matricu,broj clanova djeljivih sa 3 i broj clanova djeljivih sa 2

#include <iostream>

#define max 10

using namespace std;

int main ()

int matrica[max][max];

int n,s,s1;

cout << " Unesi br.redova i kolona matrice nxn = ";

cin >> n;

for (int i=1; i<=max; i++)

s=0;

s1=0;

}
for (int i=1; i<=n; i++)

for (int j=1; j<=n; j++)

cout <<"polje["<<i<<","<<j<<"]=";

cin >> matrica[i][j];

s+=matrica[i][j]%3==0;

s1+=matrica[i][j]%2==0;

cout<<endl;

cout<<" Upisana matrica je : "<<endl;

for(int i=1; i<=n; i++)

cout << endl;

for (int j=1; j<=n; j++)

cout <<matrica[i][j]<<" \t ";

cout<<endl;

cout<<endl;

cout<<"Broj clanova djeljivih sa 3 je : "<<s<<endl;

cout<<" ,a djeljivi sa 2 je : "<<s1<<" "<<endl;

return 0;

EKRAN:

Unesi br.redova i kolona matrice nxn = 3

a[1,1]=1
a[1,2]=2

a[1,3]=3

a[2,1]=4

a[2,2]=5

a[2,3]=6

a[3,1]=7

a[3,2]=8

a[3,3]=9

Upisana matrica je :

1 2 3

4 5 6

7 8 9

Broj clanova djeljivih sa 3 je : 3

, a djeljivih sa 2 je : 4

Primjer 16:

Napisati program za unos matrice A , ispis clanova djeljivih sa „p“ i njihovu sumu.

RJEŠENJE:

//Ispis clanova djeljivih sa "p" i njihov zbir(suma)

#include <iostream>

#define dim 10

using namespace std;

int main()

int n,i,a[dim][dim],zbir,p;

cout << " Upisi br.redova i kolona matrice nxn = ";


cin >> n;

cout<<endl;

cout<<"Unesi clanove :"<<endl;

for (int i=1;i<=n;i++)

for (int j=1;j<=n; j++)

cout <<" a["<<i<<","<<j<<"]=";

cin >>a[i][j];

cout<<"Upisi djelilac P = ";

cin>>p;

cout<<endl;

zbir=0;

for(int i=1;i<=n;i++)

for(int j=1;j<=n;j++)

if(a[i][j]%p==0)

zbir=zbir+a[i][j];

cout<<endl;

cout<<" Upisana matrica je : "<<endl;

for(int i=1; i<=n; i++)


{

for (int j=1; j<=n; j++)

cout <<a[i][j]<<" \t ";

cout<<endl;

cout<<endl;

cout<<"Clanovi djeljivih sa "<<p<<" su : "<<endl;

for(int i=1; i<=n; i++)

for (int j=1; j<=n; j++)

if(a[i][j]%p==0)

cout <<a[i][j]<<" \t ";

cout<<endl;

cout<<"Suma clanova djeljivih sa "<<p<<" je : "<<zbir<<endl;

return 0;

EKRAN:

Upisi br.redova i kolona matrice nxn = 3

Unesi clanove :

a[1,1]=12

a[1,2]=2

a[1,3]=3

a[2,1]=4

a[2,2]=5
a[2,3]=44

a[3,1]=7

a[3,2]=200

a[3,3]=10

Upisi djelilac P = 4

Upisana matrica je :

12 2 3

4 5 44

7 200 10

Clanovi djeljivi sa 4 su :

12

4 44

200

Suma clanova djeljivih sa 4 je : 260

Primjer 17:

Napisati program za unos matrice A , ispis zbira(sume) clanova i ispis matrice B ciji su
elementi uvecani za ovu sumu.

RJEŠENJE:

//Ispisuje sumu (zbir) clanova matrice A i matricu B ciji su clanovi uvecani za sumu upisanih
clanova

#include <cstdlib>

#include <iostream>

using namespace std;

unsigned int m,n;

int i,j,k;

float A['m']['n'];
int main()

cout<<"Unesite broj redova m = "; cin>>m;

cout<<"Unesite broj kolona n = "; cin>>n;

cout<<"Upisi clanove matrice A :"<<endl;

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];

}}

cout<<endl;

cout<<"Upisana je matrica A:"<<endl;

// Ispis elemenata matrice

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<A[i][j]<<"\t";

cout<<"\n";

// Suma elemenata matrice

float suma=0;

for(i=0; i<m; i++){

for(j=0; j<n; j++){

suma+=A[i][j]; // suma=suma+A[i][j];

}}
cout<<endl;

cout<<"Suma svih elemenata matrice A je "<<suma<<".\n";

cout<<endl;

cout<<" Matrica B,elementi uvecani za..."<<suma<<endl;

// Ispis elemenata matrice

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<A[i][j]+int(suma)<<"\t";

cout<<"\n";

system("PAUSE");

return 0;

EKRAN:

Unesite broj redova m = 3

Unesite broj kolona n = 4

Upisi clanove matrice A :

a[0,0]=9

a[0,1]=8

a[0,2]=7

a[0,3]=6

a[1,0]=5

a[1,1]=4

a[1,2]=3
a[1,3]=2

a[2,0]=1

a[2,1]=23

a[2,2]=4

a[2,3]=5

Upisana je matrica A :

9 8 7 6

5 4 3 2

1 23 4 5

Suma svih elemenata matrice A je 77.

Matrica B,elementi uvecani za...77

86 85 84 83

82 81 80 79

78 100 81 82

Primjer 18:

Napisati program za unos matrice A , ispis max.clanova po redovima i ispis matrice B ciji
su elementi sortirani po redovima od min...max.

RJEŠENJE:

#include <cstdlib>

#include <iostream>

using namespace std;

unsigned int m,n;

int i,j,k;

float A['m']['n'],R['m'],K['n'];

int main()

{
cout<<"Unesite broj redova m = "; cin>>m;

cout<<"Unesite broj kolona n = "; cin>>n;

cout<<"Unesi elemente matrice A :"<<endl;

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];

}}

cout<<endl;

cout<<"Upisana je matrica A:"<<endl;

// Ispis elemenata matrice

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<A[i][j]<<"\t";

cout<<"\n";

// Trazenje najveceg elementa matrice A

unsigned int i_max=0,j_max=0; //pretpostavljamo da je prvi elemnt najveci

for(i=0; i<m; i++){

for(j=0; j<n; j++){

if(A[i][j]>A[i_max][j_max]){

i_max=i;

j_max=j;

}}}
// Naci najveci element svakog reda matrice i pridruziti ga odgovarajucem

// elementu niza R['m']

for(i=0; i<m; i++){

j_max=0;

for(j=1; j<n; j++){

if(A[i][j]>A[i][j_max]) j_max=j;

R[i]=A[i][j_max];

cout<<"Najveci elementi redova matrice A su:\n";

for(i=0; i<m; i++){cout<<R[i]<<" ";}

cout<<"\n";

// Sortirati matricu A['m']['n'] po redovima od najmanjeg do najveceg elemnta

for(i=0; i<m; i++){

for(j=0; j<n-1; j++){

for(k=j+1; k<n; k++){

if(A[i][k]<A[i][j]){

float pom=A[i][j];

A[i][j]=A[i][k];

A[i][k]=pom;}

}}}

// Ispis elemenata matrice

cout<<"\nMatrica A sortirana po redovima je:\n";

for(i=0; i<m; i++){

for(j=0; j<n; j++){


cout<<A[i][j]<<"\t";

cout<<"\n";

system("PAUSE");

return 0;

EKRAN:

Unesite broj redova m = 3

Unesite broj kolona n = 4

Uneisi clanove matrice A :

a[0,0]=12

a[0,1]=54

a[0,2]=3

a[0,3]=2

a[1,0]=7

a[1,1]=89

a[1,2]=123

a[1,3]=4

a[2,0]=6

a[2,1]=337

a[2,2]=100

a[2,3]=32

Upisana je matrica A :

12 54 3 2
7 89 123 4

6 337 100 32

Najveci elementi redova matrice A su :

54 123 337

Matrica A sortirana po redovima je :

2 3 12 54

4 7 89 123

6 32 100 337

Primjer 19:

Napisati program za unos matrice A i ispis clanova glavne dijagonale.

RJEŠENJE:

//Ispisuje elemente glavne dijagonale matrice A

#include <cstdlib>

#include <iostream>

using namespace std;

unsigned int m,n;

int i,j,k;

float A['m']['n'];

int main()

cout<<"Unesite broj redova i kolona m = "; cin>>m;

cout<<"Upisi clanove matrice A :"<<endl;

for(i=0; i<m; i++){

for(j=0; j<m; j++){

cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];


}}

cout<<endl;

cout<<"Upisana je matrica A:"<<endl;

// Ispis elemenata matrice

for(i=0; i<m; i++){

for(j=0; j<m; j++){

cout<<A[i][j]<<"\t";

cout<<"\n";

cout<<endl;

// Ispis elemenata glavne dijagonale matrice

cout<<"Elementi glavne dijagonale su:\n";

for(i=0; i<m; i++){cout<<A[i][i]<<" ";}

cout<<endl;

return 0;

EKRAN:

Unesite broj redova i kolona m = 3

Upisi clanove matrice A :

a[0,0]=12

a[0,1]=54

a[0,2]=3

a[1,0]=7

a[1,1]=89
a[1,2]=123

a[2,0]=6

a[2,1]=337

a[2,2]=100

Upisana je matrica A :

12 54 3

7 89 123

6 337 100

Elementi glavne dijagonale su :

12 89 100

Primjer 20:

Napisati program za unos matrice A i ispis clanova glavne i sporedne dijagonale.

RJEŠENJE:

//Ispisuje elemente glavne i sporedne dijagonale matrice A

#include <cstdlib>

#include <iostream>

using namespace std;

unsigned int m,n;

int i,j,k;

float A['m']['n'];

int main()

cout<<"Unesite broj redova i kolona m = "; cin>>m;

cout<<"Upisi clanove matrice A :"<<endl;

for(i=0; i<m; i++){


for(j=0; j<m; j++){

cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];

}}

cout<<endl;

cout<<"Upisana je matrica A:"<<endl;

// Ispis elemenata matrice

for(i=0; i<m; i++){

for(j=0; j<m; j++){

cout<<A[i][j]<<"\t";

cout<<"\n";

cout<<endl;

// Ispis elemenata glavne i sporedne dijagonale matrice

cout<<"Elementi glavne dijagonale su:\n";

if(m<n) k=m; //broj elemenata glavne odn. sporedne dijagonale

else k=m; //odgovara broju manje dimenzije matrice

for(i=0; i<k; i++){cout<<A[i][i]<<" ";}

cout<<endl;

cout<<"\nElementi sporedne dijagonale su:\n";

for(i=0; i<k; i++){cout<<A[i][m-1-i]<<" ";}

cout<<endl;

return 0;

EKRAN:
Unesite broj redova i kolona m = 3

Upisi clanove matrice A :

A[0,0]=1

A[0,1]=2

A[0,2]=3

A[1,0]=4

A[1,1]=5

A[1,2]=6

A[2,0]=7

A[2,1]=8

A[2,2]=9

Upisana je matrica A :

1 2 3

4 5 6

7 8 9

Elementi glavne dijagonale su :

1 5 9

Elementi sporedne dijagonale su :

3 5 7

Primjer 21:

Napisati program za unos matrice A i ispis clanova glavne i njihovu sumu(zbir).

RJEŠENJE:

//Ispisuje clanove glavne dijagonali i njihov zbir

#include <iostream>

#define dim 10
using namespace std;

int main()

int n,i,a[dim][dim],suma;

cout << " Upisi br.redova i kolona matrice nxn = ";

cin >> n;

cout<<endl;

cout<<"Unesi clanove :"<<endl;

for (int i=1;i<=n;i++)

for (int j=1;j<=n; j++)

cout <<" a["<<i<<","<<j<<"]=";

cin >>a[i][j];

suma=0;

for (int i=1; i<n+1; i++)

suma = suma + a[i][i];

cout<<endl;

cout<<" Upisana matrica je : "<<endl;

for(int i=1; i<=n; i++)

for (int j=1; j<=n; j++)


cout <<a[i][j]<<" \t ";

cout<<endl;

cout<<endl;

cout<<" CL.glavne dijagonale su : "<<endl;

for(int i=1; i<=n; i++)

cout <<a[i][i]<<" \t ";

cout<<endl;

cout<<endl;

cout<<"Zbir clanova glavne dijagonale je :"<<suma<<endl;

return 0;

RJEŠENJE:

Unesite broj redova i kolona m = 3

Unesi clanove :

a[1,1]=12

a[1,2]=3

a[1,3]=4

a[2,1]=5

a[2,2]=6

a[2,3]=7

a[3,1]=23

a[3,2]=42
a[3,3]=100

Upisana je matrica A :

12 3 4

5 6 7

23 42 100

CL. glavne dijagonale su :

12 6 100

Zbir clanova glavne dijagonale je : 118

Primjer 22:

Napisati program za unos matrice A i ispis sume(zbira) clanova glavne dijagonale.

RJEŠENJE:

//Ispis matrice i sumu(zbir) clanova glavne dijagonale

#include <stdio.h>

#include <conio.h>

#define MAX 20

int main(){

int i,j,n,mat[MAX][MAX];

float sum=0;

printf("\nUnesi velicinu cjelobrojne kvadratne matrice nxn: ");

scanf("%d",&n);

printf("\nUnesi elemente matrice:\n\n");

for(i=0;i<n;i++){

for(j=0;j<n;j++){

printf("\tM[%d][%d]= ",i+1,j+1);

scanf("%d",&mat[i][j]);
if(i==j) sum += mat[i][j];

printf("\nUnesena je matrica:\n\n");

for(i=0;i<n;i++){

printf("\n");

for(j=0;j<n;j++){

printf("\t%d",mat[i][j]);

printf("\n\nSuma (zbir) clanova glavne dijagonale je %f", sum);

getch();

return 0;

EKRAN:

Unesi br.redova i kolona matrice nxn = 3

Unesi clanove :

a[1,1]=12

a[1,2]=2

a[1,3]=3

a[2,1]=4

a[2,2]=5

a[2,3]=44

a[3,1]=7

a[3,2]=200
a[3,3]=10

Upisana matrica je :

12 2 3

4 5 44

7 200 10

Suma clanova glavne dijagonale je : 27

Primjer 23:

Napisati program za unos matrice A i ispis sume clanova glavne dijagonale i ispis zbira
clanova sporedne dijagonale.

RJEŠENJE:

//Ispis matrice i suma clanova dijagonala

#include <stdio.h>

#include <conio.h>

#define MAX 20

int main(){

int i,j,n,mat[MAX][MAX];

float sumd=0,suml=0;

printf("\nUnesi velicinu cjelobrojne kvadratne matrice nxn: ");

scanf("%d",&n);

printf("\nUnesi elemente matrice:\n\n");

for(i=0;i<n;i++){

for(j=0;j<n;j++){

printf("\tM[%d][%d]= ",i+1,j+1);

scanf("%d",&mat[i][j]);

if(i==j) suml += mat[i][j];

if(i+j==n-1) sumd += mat[i][j];


}

printf("\nUnesena je matrica:\n\n");

for(i=0;i<n;i++){

printf("\n");

for(j=0;j<n;j++){

printf("\t%d",mat[i][j]);

printf("\n\nSuma clanova glavne dijagonale je %f", suml);

printf("\n\nSuma clanova sporedne dijagonale je %f", sumd);

return 0;

Primjer 24:

Napisati program za unos matrice A i ispis aritmeticke sredine clanova obe dijagonale.

RJEŠENJE:

//Ispis matrice i aritmeticke sredine diijagonalnih clanova

#include <stdio.h>

#include <conio.h>

#define MAX 20

int main(){

int i,j,n,mat[MAX][MAX];

float sred=0;

printf("\nUnesi velicinu cjelobrojne kvadratne matrice nxn: ");

scanf("%d",&n);
printf("\nUnesi elemente matrice:\n\n");

for(i=0;i<n;i++){

for(j=0;j<n;j++){

printf("\tM[%d][%d]= ",i+1,j+1);

scanf("%d",&mat[i][j]);

if(i==j) sred += mat[i][j];

if(i+j==n-1) sred += mat[i][j];

sred /= 2*n;

printf("\nUnesena je matrica:\n\n");

for(i=0;i<n;i++){

printf("\n");

for(j=0;j<n;j++){

printf("\t%d",mat[i][j]);

printf("\n\nAritmeticka sredina dijagonalnih clanova je %f",sred );

getch();

return 0;

Primjer 25:

Napisati program za unos matrice A i ispis matrice B ciji su clanovi uvecani za zbir
clanova glavne dijagonale.

RJEŠENJE:

#include <stdio.h>
#include <conio.h>

#define MAX 20

int main(){

int i,j,n,mat[MAX][MAX];

float sum=0;

printf("\nUnesi velicinu cjelobrojne kvadratne matrice nxn: ");

scanf("%d",&n);

printf("\nUnesi elemente matrice:\n\n");

for(i=0;i<n;i++){

for(j=0;j<n;j++){

printf("\tM[%d][%d]= ",i+1,j+1);

scanf("%d",&mat[i][j]);

if(i==j) sum += mat[i][j];

printf("\nUnesena je matrica:\n\n");

for(i=0;i<n;i++){

printf("\n");

for(j=0;j<n;j++){

printf("\t%d",mat[i][j]);

printf("\n\nSuma (zbir) clanova glavne dijagonale je %f", sum);

printf("\n");

printf("\nMatrica ciji su clanovi uvecani za ovu sumu je:\n\n");


for(i=0;i<n;i++){

printf("\n");

for(j=0;j<n;j++){

printf("\t%d",mat[i][j]+int(sum));

getch();

return 0;

Primjer 26:

Napisati program za unos matrice A, ispis sume obe dijagonale pojedinacno i ispis
aritmeticke sredine clanova obe dijagonale.

RJEŠENJE:

//Ispis matrice,suma clanova dijagonala i njihova artimeticka sredina

#include <stdio.h>

#include <conio.h>

#define MAX 20

int main(){

int i,j,n,mat[MAX][MAX];

float sumd=0,suml=0;

printf("\nUnesi velicinu cjelobrojne kvadratne matrice nxn: ");

scanf("%d",&n);

printf("\nUnesi elemente matrice:\n\n");

for(i=0;i<n;i++){

for(j=0;j<n;j++){

printf("\tM[%d][%d]= ",i+1,j+1);
scanf("%d",&mat[i][j]);

if(i==j) suml += mat[i][j];

if(i+j==n-1) sumd += mat[i][j];

printf(" \nUnesena je matrica:\n");

for(i=0;i<n;i++){

printf("\n");

for(j=0;j<n;j++){

printf("\t%d",mat[i][j]);

printf("\n\nSuma clanova glavne dijagonale je %f", suml);

printf("\n\nSuma clanova sporedne dijagonale je %f", sumd);

printf("\n\nAritmeticka sredina clanova obe dijagonale je %f", ((suml+sumd)/2));

return 0;

Primjer 27:

Napisati program za unos matrice A , ispis sume clanova glavne dijagonale, ispis zbira
clanova sporedne dijagonale,ispis aeitmeticke sredine clanova obe dijagonale i ispis matrice
B ciji clanovi su clanovi matrice A uvecani za sumu(zbir) clanova glavne i sporedne
dijagonale.

RJEŠENJE:

#include <stdio.h>

#include <conio.h>

#define MAX 20

int main(){
int i,j,n,mat[MAX][MAX];

float sumd=0,suml=0;

printf("\nUnesi velicinu cjelobrojne kvadratne matrice nxn: ");

scanf("%d",&n);

printf("\nUnesi elemente matrice:\n\n");

for(i=0;i<n;i++){

for(j=0;j<n;j++){

printf("\tM[%d][%d]= ",i+1,j+1);

scanf("%d",&mat[i][j]);

if(i==j) suml += mat[i][j];

if(i+j==n-1) sumd += mat[i][j];

printf(" \nUnesena je matrica A:\n");

for(i=0;i<n;i++){

printf("\n");

for(j=0;j<n;j++){

printf("\t%d",mat[i][j]);

printf("\n\nSuma clanova glavne dijagonale je %f", suml);

printf("\n\nSuma clanova sporedne dijagonale je %f", sumd);

printf("\n\nAritmeticka sredina clanova obe dijagonale je %f", ((suml+sumd)/2));

printf("\n");

printf("\nMatrica B ciji su clanovi uvecani za %f", (suml+sumd));


for(i=0;i<n;i++){

printf("\n");

for(j=0;j<n;j++){

printf("\t%d",mat[i][j]+int(suml+sumd));

return 0;

Primjer 28:

Napisati program za unos matrice A , ispis sume clanova glavne dijagonale, ispis zbira
clanova sporedne dijagonale, i ispis matrice B ciji clanovi su clanovi matrice A pomnozeni sa
sumom(zbirom) clanova sporedne dijagonale.

RJEŠENJE:

#include <stdio.h>

#include <conio.h>

#define MAX 20

int main(){

int i,j,n,mat[MAX][MAX];

float sumd=0,suml=0;

printf("\nUnesi velicinu cjelobrojne kvadratne matrice nxn: ");

scanf("%d",&n);

printf("\nUnesi elemente matrice:\n\n");

for(i=0;i<n;i++){

for(j=0;j<n;j++){

printf("\tM[%d][%d]= ",i+1,j+1);

scanf("%d",&mat[i][j]);
if(i==j) suml += mat[i][j];

if(i+j==n-1) sumd += mat[i][j];

printf(" \nUnesena je matrica A:\n");

for(i=0;i<n;i++){

printf("\n");

for(j=0;j<n;j++){

printf("\t%d",mat[i][j]);

printf("\n\nSuma clanova glavne dijagonale je %f", suml);

printf("\n\nSuma clanova sporedne dijagonale je %f", sumd);

printf("\n");

printf("\nMatrica B ciji su clanovi pomnozeni sa %f", sumd);

for(i=0;i<n;i++){

printf("\n");

for(j=0;j<n;j++){

printf("\t%d",mat[i][j]*int(sumd));

return 0;

Primjer 29:

Napisati program za unos dvije matrice i ispis matrice koja je jednaka njihovom
zbiru(sumi)
RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

main()

int n,a[dim][dim],b[dim][dim],c[dim][dim];

cout << "Unesi broj redova i kolona N = ";

cin >> n;

cout<<" Unesi clanove matrice A: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"a["<<i<<","<<j<<"]=";

cin >>a[i][j];

cout<<" Sada unesi clanove matrice B: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"b["<<i<<","<<j<<"]=";

cin >>b[i][j];

c[i][j]=a[i][j]+b[i][j];

cout<<" Zbir ove dvije matrice je matrica C: "<<endl;


for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"c["<<i<<","<<j<<"]="<<a[i][j]+b[i][j]<<endl;

system ("pause");

return 0;

Primjer 30:

Napisati program za unos matrice A ,ispis zbira(sume) i ispis srednje vrijednosti clanova
upisane matrice .

RJEŠENJE:

//Ispisuje sumu (zbir) i srednju vrijednost clanova matrice A

#include <cstdlib>

#include <iostream>

using namespace std;

unsigned int m,n;

int i,j,k;

float A['m']['n'];

int main()

cout<<"Unesite broj redova m = "; cin>>m;

cout<<"Unesite broj kolona n = "; cin>>n;

cout<<"Upisi clanove matrice A :"<<endl;

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];

}}
cout<<endl;

cout<<"Upisana je matrica A:"<<endl;

// Ispis elemenata matrice

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<A[i][j]<<"\t";

cout<<"\n";

// Suma i srednja vrijednost elemenata matrice

float suma=0;

for(i=0; i<m; i++){

for(j=0; j<n; j++){

suma+=A[i][j]; // suma=suma+A[i][j];

}}

cout<<endl;

cout<<"Suma svih elemenata matrice je "<<suma<<".\n";

cout<<endl;

cout<<" Matrica B,elementi uvecani za..."<<suma<<endl;

// Ispis elemenata matrice

for(i=0; i<m; i++){

for(j=0; j<n; j++){

cout<<A[i][j]+int(suma)<<"\t";

cout<<"\n";
}

system("PAUSE");

return 0;

Primjer 31:

Napisati program za ispis članova matrice koji su proizvod istoimenih članova dvije matrice
(c[1,0]=a[1,0]*b[1,0]... ).

RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

main()

int n,a[dim][dim],b[dim][dim],c[dim][dim];

cout << "Unesi broj redova i kolona N = ";

cin >> n;

cout<<" Unesi clanove matrice A: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"a["<<i<<","<<j<<"]=";

cin >>a[i][j];

cout<<" Sada unesi clanove matrice B: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)


{

cout <<"b["<<i<<","<<j<<"]=";

cin >>b[i][j];

c[i][j]=a[i][j]*b[i][j];

cout<<" Proizvod istoimenih clanova je matrica C: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"c["<<i<<","<<j<<"]="<<a[i][j]*b[i][j]<<endl;

system ("pause");

return 0;

Primjer 32:

Napisati program za množenje matrice vektorom.

RJEŠENJE:

//Množenje matrice vektorom.

#include <iostream>

using namespace std;

int main () {

// Unos

int m,n, a[30][30], x[30], b[30];

cout << "Unesite broj kolona u matrici: ";

cin >> m;

cout << "Unesite broj redova matrice: ";

cin >> n;
for (int i=0; i<n; i++)

for (int j=0; j<m; j++) {

cout << "Unesite a(" << i << "," << j << "): ";

cin >> a[i][j];

cout << endl;

for (int i=0; i<m; i++) {

cout << "Unesite x(" << i << ")";

cin >> x[i];

// Racunanje

for (int i=0; i<n; i++) b[i]=0;

for (int i=0;i<n; i++)

for (int j=0; j<m; j++)

b[i]+=a[i][j];

// Ispis

cout << endl;

for (int i=0;i<n;i++)

cout << b[i] << endl;

return 0;

Primjer 33:

Napisati program za sumu (zbir) tri matrice.

RJEŠENJE:

#include <iostream>
#define dim 10

using namespace std;

main()

int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim];

cout << "Unesi broj redova i kolona N = ";

cin >> n;

cout<<" Unesi clanove matrice A: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"a["<<i<<","<<j<<"]=";

cin >>a[i][j];

cout<<" Unesi clanove matrice B: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"b["<<i<<","<<j<<"]=";

cin >>b[i][j];

cout<<" Unesi clanove matrice C: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

{
cout <<"c["<<i<<","<<j<<"]=";

cin >>c[i][j];

d[i][j]=a[i][j]+b[i][j]+c[i][j];

cout<<" Suma ove tri matrice je matrica D: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"d["<<i<<","<<j<<"]="<<a[i][j]+b[i][j]+c[i][j]<<endl;

system ("pause");

return 0;

Primjer 34:

Napisati program za sumu (zbir) tri matrice.

RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

main()

int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim];

cout << "Unesi broj redova i kolona N = ";

cin >> n;

cout<<" Unesi clanove matrice A: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)


{

cout <<"a["<<i<<","<<j<<"]=";

cin >>a[i][j];

cout<<" Unesi clanove matrice B: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"b["<<i<<","<<j<<"]=";

cin >>b[i][j];

cout<<" Unesi clanove matrice C: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"c["<<i<<","<<j<<"]=";

cin >>c[i][j];

d[i][j]=a[i][j]+b[i][j]+c[i][j];

cout<<" Suma ove tri matrice je matrica D: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"d["<<i<<","<<j<<"]="<<a[i][j]+b[i][j]+c[i][j]<<endl;

cout<<endl;

cout<<"Izgled matrice D je : "<<endl;


for(int i=1; i<=n; i++)

cout<<endl;

for (int j=1; j<=n; j++)

cout <<d[i][j]<<" \t ";

return 0;

Primjer 35:

Napisati program za proizvod i sumu (zbir) tri kvadratne matrice NxN.

RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

int main()

int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim],e[dim][dim];

cout << "Unesi broj redova i kolona N = ";

cin >> n;

cout<<" Unesi clanove matrice A: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"a["<<i<<","<<j<<"]=";

cin >>a[i][j];
}

cout<<" Unesi clanove matrice B: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<" b["<<i<<","<<j<<"]=";

cin >>b[i][j];

cout<<" Unesi clanove matrice C: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"c["<<i<<","<<j<<"]=";

cin >>c[i][j];

d[i][j]=a[i][j]*b[i][j]*c[i][j];

e[i][j]=a[i][j]+b[i][j]+c[i][j];

cout<<endl;

cout<<"Proizvod matrica je matrica D : ";

for(int i=1; i<=n; i++)

cout<<endl;

for (int j=1; j<=n; j++)

cout <<d[i][j]<<" \t ";

}cout<<endl;
cout<<endl;

cout<<"Suma matrica je matrica E : ";

for(int i=1; i<=n; i++)

cout<<endl;

for (int j=1; j<=n; j++)

cout <<e[i][j]<<" \t ";

return 0;

Primjer 36:

Napisati program za unos tri kvadratne matrice NxN,ispis sume (zbira) matrica D=A+B ,i
ispis matrice koja je jednaka proizvodu zbira prve dvije matrice i matrice C (E=D*C).

RJEŠENJE:

#include <iostream>

#define dim 10

using namespace std;

int main()

int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim],e[dim][dim];

cout << "Unesi broj redova i kolona N = ";

cin >> n;

cout<<" Unesi clanove matrice A: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

{
cout <<" a["<<i<<","<<j<<"]=";

cin >>a[i][j];

cout<<"Unesi clanove matrice B: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<"b["<<i<<","<<j<<"]=";

cin >>b[i][j];

cout<<"Unesi clanove matrice C: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<" c["<<i<<","<<j<<"]=";

cin >>c[i][j];

d[i][j]=a[i][j]+b[i][j];

e[i][j]=d[i][j]*c[i][j];

cout<<"Suma matrice A i matrice B je matrica D: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<" d["<<i<<","<<j<<"]="<<a[i][j]+b[i][j]<<endl;

cout<<endl;

cout<<"Izgled matrice D je : ";


for(int i=1; i<=n; i++)

cout<<endl;

for (int j=1; j<=n; j++)

cout <<d[i][j]<<" \t ";

cout<<endl;

cout<<endl;

cout<<"Proizvod matrice D i matrice C je matrica E: "<<endl;

for (int i=1; i<=n; i++)

for (int j=1;j<=n; j++)

cout <<" e["<<i<<","<<j<<"]="<<(a[i][j]+b[i][j])*c[i][j]<<endl;

cout<<endl;

cout<<"Izgled matrice E je : ";

for(int i=1; i<=n; i++)

cout<<endl;

for (int j=1; j<=n; j++)

cout <<e[i][j]<<" \t ";

return 0;

}
Potprogrami(funkcije u C++
2008-08-02 10:57

1.1 Potprogrami (funkcije) u C++


Potprogrami su izdvojene logičke cjeline unutar programa. Za razliku od Pascala, koji
razlikuje procedure i funkcije, C/C++ poznaje samo funkcije. Funkcija je zamišljena tako da
vrati vrijednost koja odgovara njenom tipu (pomoću naredbe return). Ako funkcija umjesto
tipa ima oznaku void, tada ne vraća vrijednost, odnosno, predstavlja pandan proceduri.

Opći oblik funkcije :

<povratni tip ili void> ime_funkcije (<tip> par1, <tip> par2, ... ,<tip> par N)
{
.
.
<blok instrukcija>
.
.
return <povratna vrijednost>; // izostavlja se ako je funkcija tipa void
}

Razlikujemo formalne parametre (navode se u zaglavlju funkcije) i stvarne parametre


(navode se kod poziva funkcije). Prilikom poziva funkcije formalni parametri poprime
vrijednosti odgovarajućih stvarnih parametara.

Primjer :

#include <iostream.h>
float kvadrat (float x){
return x * x;
}
void main () { // main je rezervirano ime
float broj;
float kvad = kvadrat (broj);
cout << broj << “ na kvadrat iznosi “ << kvad << endl;
}

1.1.1 Koncept globalnih i lokalnih podataka


Globalni podaci dostupni su u svim dijelovima programa (osim u funkcijama gdje su
definirani istoimeni lokalni podaci), dok su lokalni dostupni isključivo u okviru funkcije gdje
su definirani.

Primjer :
#include <iostream.h>
int a,b;
float c,d; // a,b,c,d su globalne varijable
void main () {
int e,f; //varijable e,f lokalne su za funkciju main
char a,c // varijable a,c lokalne su za funkciju main i prekrivaju
// istoimene globalne varijable
a = ‘A’;
c = ‘B’;
b = 5; // globalne varijable b,d dostupne su unutar funkcije main
d = 3.14;
}

1.1.2 Statički članovi


Statički članovi označavaju se pomoću ključne riječi static.
Statička lokalna varijabla ima doseg lokalne, a trajanje globalne varijable :

Primjer :

#include <iostream.h>
void funkcija_stat () {
int a;
static int b;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
a = 5;
b = 10;
}
void main () {
cout << "1. poziv funkcije :" << endl;
funkcija_stat();
cout << "2. poziv funkcije :" << endl;
funkcija_stat();
}

Daje slijedeći ispis kao rezultat :

1. poziv funkcije :
a = 6618616
b=0
2. poziv funkcije :
a = 6618616
b = 10

Vrijednost statičke lokalne varijable b ostala je sačuvana do slijedećeg poziva funkcije.

1.1.3 Pokazivači i reference kao argumenti


Osim prijenosa argumenata po vrijednosti, moguće je koristiti pokazivače i reference kao
argumente. U tom slučaju funkcija ne vrši obradu nad kopijama podataka nego nad
originalnim podacima.

Primjer (pokazivači kao argumenti) :

#include <iostream h>


void zamjena (int *prvi, int *drugi){
int pom = *prvi;
*prvi = *drugi;
*drugi = pom;
}
void main (){
int a=5;
int b=10;
zamjena (&a,&b);
cout << “a = “ << a << endl; // 10
cout << “b = “ << b << endl; // 5
}

Primjer (reference kao argumenti) :

#include <iostream.h>
void zamjena (int &prvi, int &drugi) {
int pom = prvi;
prvi = drugi;
drugi = pom;
}
void main (){
int a=5;
int b=10;
zamjena (a,b);
cout << “a = “ << a << endl; // 10
cout << “b = “ << b << endl; // 5
}

1.1.4 Preopterećenje funkcija


Preopterećenje omogućuje korištenje istog imena za različite funkcije, pri čemu se te funkcije
međusobno razlikuju po tipu argumenata u svom zaglavlju.

Primjer:

#include <iostream.h>
void funkcija (int n){
cout << “n (int) = “ << n << endl;
}
void funkcija (float n){
cout << “n (float) = “ << n << endl;
}
void main () {
int a=5;
float b=3.125;
funkcija (a); //cjelobrojni parametar
funkcija (b); //realni parametar
}

1.1.5 Rekurzivna funkcija


Rekurzija je svojstvo potprograma (funkcije) da može pozivati sam sebe.

Primjer (računanje n!) :

#include <iostream.h>
int fakto (int n){
if (n ==1) //sidreni uvjet
return 1;
else
return n*fakto (n – 1); //pojednostavljenje
}
void main () {
cout << fakto (5) << endl;
}

Za realizaciju rekurzivne funkcije potrebno je osigurati slijedeće :

Sidreni izraz : 1! = 1
Rekurzivnu formulu ili postupak : n! = n * (n – 1)!

Sidreni izraz omogućuje izlazak iz rekurzivne funkcije (tj. sprijećava beskonačno pozivanje
funkcije), a rekurzivna formula ili postupak trebaju pojednostaviti zadatak, odnosno, približiti
ga rješenju zadanom kao sidreni izraz.

1.1.6 Pretprocesorska naredba #include


#include kaže kompilatoru da na njeno mjesto ubaci sadržaj zadane datoteke.

Sintaksa :

#include "naziv datoteke"

ili

#include <naziv datoteke>

Primjer :

Sadržaj datoteke “vanjska.cpp” uključujemo u program, čiji izvorni kod se nalazi u datoteci
“Ukljuci.cpp” .

Datoteka “Ukljuci.cpp” :
#include <iostream.h>
#include "vanjska.cpp"
void main () {
v_var = 10; // Globalna varijabla
f_vanjska();
}

Datoteka “Vanjska.cpp”:

int v_var;
void f_vanjska (){
cout <<"Vanjska funkcija" << endl;
}

Funkcija f_vanjska poziva se na isti način kao da je uključena u glavnu datoteku.

1.1.7 Standardne biblioteke funkcija

1.1.7.1 iostream.h

Biblioteka iostream definira razrede (klase) koje podržavaju rad s ulaznim i izlaznim
tokovima.

1.1.7.1.1 Predefinirani objekti tokova C++ :


Ime Tip razreda Opis
cin ulazni tok
Pridružen standardnom ulazu (tipkovnica)
cout izlazni tok
Pridružen standardnom izlazu (ekran)
cerr
izlazni tok
Pridružen standardnom izlazu u slučaju pogreške (ekran) s izlazom bez korištenja
međuspremnika

clog
izlazni tok
Pridružen standardnom izlazu u slučaju pogreške (ekran) s izlazom uz korištenje
međuspremnika

1.1.7.2 string.h

1.1.7.2.1 Funkcije za kopiranje


void *memcpy(void *s1, const void *s2, size_t n);
Kopira n znakova s memorijskog područja s2 u s1. Radi kao strncpy ali ne stane kod null
znakova. Ne radi ako se memorijska područja preklapaju.

void *memmove(void *s1, const void *s2, size_t n);


Slično memcpy() ali radi čak i ako se memorijska područja preklapaju.

char *strcpy(char *s1, const char *s2);


Kopira s1 u s2 tako dugo dok se ne iskopira null znak.

char *strncpy(char *s1, const char *s2, size_t n);


Kao strcpy(), ali kopira najviše n znakova.

1.1.7.2.2 Funkcije spajanja polja znakova


char *strcat(char *s1, const char *s2);
Dodaje kopiju s2 na kraj polja s1.

char *strncat(char *s1, const char *s2, size_t n);


Kao strcat(), ali dodaje najviše n znakova.

1.1.7.2.3 Funkcije uspoređivanja


int memcmp(const void *s1, const void* s2, size_t n);
Kao strncmp() ali ne stane kod null znakova.

int strcmp(const char *s1, const char* s2);


Uspoređuje argumente i vraća cijeli broj kao rezultat (0 ako je s1 jednak s2).

int strcoll(const char *s1, const char* s2);


Slično strcmp() ali koristi lokalno definiran poredak znakova umjesto originalnog.

int strncmp(const char *s1, const char* s2, size_t n);


Kao strcmp(), ali uspoređuje najviše n znakova.

size_t strxfrm(char *s1, const char *s2, size_t n);


Transformacija polja znakova. Transformira s2 u prostor jednak onom kojeg zauzima s1 tako
da se rezultat može uspoređivati s strcmp().

1.1.7.2.4 Funkcije za pretraživanje


void *memchr(const void *s, int c, size_t n);
Kao strchr(), ali stane nakon prvih n znakova umjesto nakon null znaka.

char *strchr(const char *s, int c);


Vraća pokazivač na prvo pojavljivanje znaka c u polju znakova s, ili NULL pokazivač ako se
c ne pojavljuje u polju znakova.

size_t strcspn(const char *s1, const char *s2);


Vraća dužinu početnog segmenta polja znakova s1 koje se u potpunosti sastoji od znakova
koji nisu iz s2.
char *strpbrk(const char *s1, const char *s2);
Vraća pokazivač na prvo pojavljivanje polja znakova s1, na bilo koji znak iz polja znakova
s2, ili na NULL pokazivač ako nema znakova iz s2 koji postoje u s1.

char *strrchr(const char *s, int c);


Vraća pokazivač na zadnje pojavljivanje znaka c u polju znakova s, ili NULL pokazivač ako
c ne postoji u polju znakova.

size_t strspn(const char *s1, const char *s2);


Vraća dužinu početnog segmenta polja znakova s1 koja se u potpunosti sastoji od znakova iz
polja znakova s2.

char *strstr(const char *s, const char *pat);


Vraća pokazivač na prvo pojavljivanje uzorka polja znakova pat u s.

1.1.7.2.5 Razne funkcije


void *memset(void *s, int c, size_t n);
Postavlja prvih n znakova u memorijskom području s na vrijednost znaka c.

char *strerror(int errnum);


Vraća pokazivač na tekst poruke za zadani broj pogreške.

size_t strlen(const char *s);


Vraća broj znakova u s, ne računajući null znak za prekidanje polja znakova.

1.1.7.3 math.h

1.1.7.3.1 Trigonometrijske funkcije


double acos(double x);
Daje arkus arc cos od x. Domena: -1 do +1. Raspon: 0 do pi.

double asin(double x);


Daje arc sin od x. Domena: -1 do +1. Raspon: -pi/2 do pi/2.

double atan(double x);


Daje arc tan od x. Domena: nedefinirana. Raspon: -pi/2 do pi/2.

double atan2(double x, double y);


Vrijednost arc tan od y/x, koristi predznak oba argumenta za određivanje kvadranta povratne
vrijednosti.
Bilo x ili y mogu biti nula, ali ne oba.

double cos(double x);


Kosinus od x, gdje je x u radijanima.

double sin(double x);


Sinus x, gdje je x u radijanima.
double tan(double x);
Tangens od x, gdje je x u radijanima.

1.1.7.3.2 Eksponencijalne i logaritamske funkcije


double exp(double x);
Eksponencijalna funkcija od x.

double frexp(double x, int *eksponent);


Rastavlja broj x na mantisu i eksponent na bazu 2, tako da je rezultat funkcije mantisa, a
eksponent se pohranjuje na mjesto drugog argumenta funkcije.

double ldexp(double x, int eksponent);


Računa broj na temelju zadane mantise i eksponenta; inverzna funkcija je frexp.

double log(double);
Prirodni logaritam.

double log10(double);
Logaritam po bazi 10.

double modf(double x, double *cijeliDio);


Rastavlja x na njegov cijeli i decimalni dio.

1.1.7.3.3 Funkcije za potenciranje


double pow(double baza, double eksponent);
Potenciranje; argumenti su baza i eksponent.

double sqrt(double x);


Kvadratni korijen od x.

1.1.7.3.4 Najbliži cijeli broj, apsolutna vrijednost, i funkcije ostatka dijeljenja


double ceil(double x);
Najbliži veći cijeli broj od x.

double fabs(double x);


Apsolutna vrijednost realnog broja x.

double floor(double x);


Najbliži manji cijeli broj od x.

double fmod(double x, double y);


Ostatak dijeljenja realnih brojeva x i y.

1.1.7.4 ctype.h

1.1.7.4.1 Funkcije testiranja znakova


int isalnum(int ch);
ch je alfanumerički znak.
int isalpha(int ch);
ch je slovo.

int iscntrl(int ch);


Provjerava je li znak neki kontrolni znak (ASCII kodovi 0..31 i 127).

int isdigit(int ch);


Provjerava je li ch znamenka (0..9).

int isgraph(int ch);


ch je znak za ispis; kao isprint osim što vraća false za razmak.

int islower(int ch);


ch je malo slovo.

int isprint(int ch);


Provjerava je li ch znak za ispis (ASCII kod između 32 i 126).

int isspace(int ch);


Je li znak praznina (razmak, tab, znak CR, znak za novi red, ili prijelaz na novu stranicu).

int isupper(int
ch);
Provjerava da li je ch veliko slovo.

int isxdigit(int ch);


Provjerava da li je ch heksadecimalni broj, 0 - F.

1.1.7.4.2 Funkcije za promjenu malih/velikih slova


int tolower(int ch);
Ako ch predstavlja veliko slovo, rezultat je odgovarajuće malo slovo.

int toupper(int ch);


Ako ch predstavlja malo slovo, rezultat je odgovarajuće veliko slovo.

Copy protected with Online-PDF-No-Copy.com

You might also like