Professional Documents
Culture Documents
CPP - Zbirka Pages 2 225
CPP - Zbirka Pages 2 225
RJEŠENJE:
/* Program koji vec ima definisane vrijednosti varijabli i vrsi jednostavne operacije
sabiranja i mnozenja*/
#include <iostream>
int main()
int x=5;
int y=9;
cout <<endl;
return 0;
EKRAN:
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:
#include <iostream>
int main()
{
int a, b, c, d, e;
/*Deklarisanje varijabli*/
cin >> a;
cin >> b;
c=(a*b);
vidljiva na monitoru*/
d=(a+b);
e=(a-b);
return 0;
EKRAN:
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:
#include <iostream>
int main()
Povrsina=Poluprecnik*Poluprecnik*Pi;
return 0;
}
EKRAN:
Kraj...
Primjer 5:
Napisati program koji ispisuje DRUGI korijen upisanog broja.
RJEŠENJE:
#include<iostream>
#include<cmath>
int main ()
int x;
cout<<"x = ";
cin>>x;
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;
return 0;}
EKRAN:
x = 123
Y = 15
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:
#include <iostream>
#include <cmath>
int main()
cin>>r;
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;
return 0;
}
EKRAN:
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>
int main()
float a,b;
cin>>a;
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:
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>
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
EKRAN:
Upisi djeljenik: 34
Upisi djelitelj: 7
PRIMJER 10:
Napisati program koji će izračunati srednju vrijednost po volji izabrana četiri realna broja.
RJEŠENJE:
include<iostream>
int main() {
float a,b,c,d,srvr;
cout<<"odvoji ih prazninama."<<endl;
cin>>a>>b>>c>>d;
srvr=(a+b+c+d)/4;
return 0;
EKRAN:
Odvoji ih prazninama.
2 3 4 5
Srednja vrijednost brojeva:
2, 3, 4 i 5 je 3.5
PRIMJER 11:
RJEŠENJE:
#include<iostream>
int main()
int a;
cout<<"Unesi broj:";
cin>>a;
return 0;
EKRAN:
Unesi broj: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;
cin>>A;
X=A++;
getch();
return 0;
EKRAN:
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>
int main()
int X,A;
cout<<"Unesi broj za operaciju ++A: ";
cin>>A;
X=++A;
getch();
return 0;
EKRAN:
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:
int main()
float a, Visina,h,Zapremina,B,M,P;
cin>>a;
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;
return 0;
EKRAN:
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:
#include<iostream>
using namespace std;
int main()
int TrenutnaGodina;
int Mjesec=12;
cin>>GodRodjenja;
cin>>TrenutnaGodina;
Starost=TrenutnaGodina-GodRodjenja;
Mjeseci=Starost*Mjesec;
return 0;
EKRAN:
1982
2009
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>
int main()
string ime;
cin>>ime;
cin>>god1;
cin>>god2;
god=god2-god1;
getch();
return 0;
EKRAN:
Treba izračunati kvocijent dva broja od kojih je jedan cijeli, a drugi realan. Rezultat spremiti
u cjelobrojnu varijablu.
RJEŠENJE:
#include<iostream>
int main()
int a , kvocijent;
float b;
cin>>a;
cin>>b;
kvocijent=a/b;
<<kvocijent<<endl;
return 0;
EKRAN:
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>
int main()
float A;
cin>>A;
iznosi:"<<(A+=5)<<endl;
Sada A iznosi:"<<(A-=8)<<endl;
Sada A iznosi:"<<(A*=3)<<endl;
return 0;
EKRAN:
PRIMJER 19:
RJEŠENJE:
#include<iostream>
#include <conio.h>
int main()
{ bool a,b;
cin>>a;
cin>>b;
getch();
return 0;
EKRAN:
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>
int main()
int a,b;
cin>>a;
cin>>b;
getch();
return 0;
EKRAN:
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:
RJEŠENJE:
#include<iostream>
int main()
int brojac,zbroj;
zbroj=0;
for(brojac=100;brojac<=999;brojac++)
zbroj=zbroj+brojac;
return 0;
EKRAN:
include<iostream>
int main()
int broj,brojac,zbroj,N;
zbroj=0;
cin>>N;
for (brojac=1;brojac<=N;brojac++)
cin>>broj;
zbroj=zbroj+broj;
return 0;
EKRAN:
Upisi broj: 34
Upisi broj: 5
Upisi broj: 22
RJEŠENJE:
#include<iostream>
int main()
int n,i,br;
cin>>n;
for(i=1;i<=n;i++)
br=(2*i-1);
cout<<br<<" ";
cout<<endl;
return 0;
EKRAN:
1 3 5 7 9
PRIMJER 24:
#include<iostream>
int main()
int broj,brojac,zbroj,N;
broj=0;
zbroj=0;
cin>>N;
for(brojac=1;brojac<=N;brojac++)
if(brojac%2==0)
zbroj=zbroj+brojac;
broj=broj+1;
return 0;
EKRAN:
Program prebrojava i zbraja sve parne prirodne brojeve iz raspona od 1 do N .
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 >
int main()
float a,b,ost,rez;
cout<<"Upisi djeljenik:";
cin>>a;
cout<<"Upisi djelitelj:";
cin>>b;
if (b==0)
else
rez=a/b;
rez=floor(rez);
ost=fmod(a,b);
cout<<endl<<"Provjera: "<<rez<<"*"<<b<<"+"<<ost
<<"="<<rez*b+ost<<endl;
return 0;
EKRAN:
Upisi djeljenik: 29
Upisi djrlitelj: 3
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>
int main()
int a;
if(a==0)
goto upis;
}
if(a<0)
vrijednost je "<<-a<<endl;
else
vrijednost je "<<a<<endl;
return 0;
EKRAN:
PRIMJER 27:
RJEŠENJE:
#include <iostream>
#include <cmath>
int C,R,F;
R=4*C/5;
F=(9*C/5)+32;
cout<<"Reaumur = "<<R<<endl;
cout<<"Fahrenheit = "<<F<<endl;
return 0;
EKRAN:
Reaumur = 32
Fahrenheit = 104
PRIMJER 28:
RJEŠENJE:
#include<iostream>
int main()
int brojac,N;
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:
PRIMJER 29:
Napisati program koji ispisuje sve trocifrene brojeve čiji je zbir cifara 5.
RJEŠENJE:
include<iostream>
int main()
int i,pom,j,d,s;
pom=i;
j=pom%10;
d=(pom/10)%10;
s=pom/100;
if(j+d+s==5)
cout<<i<<endl;
return 0;
EKRAN:
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>
int main()
int brojac,N;
cin>>N;
if (N<=0)
goto upis;
for (brojac=2;brojac<=(N-1);brojac++)
if(N%brojac==0)
goto kraj;
}
cout<<"Broj "<<N<<" je prost."<<endl;
kraj:return 0;
EKRAN:
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>
int main()
int br,brojac,zbroj;
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:
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>
int main()
int brojac,zbroj,N;
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)
else
return 0;
EKRAN:
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>
int main ()
int num,r,sum=0,temp;
temp=num;
while(num!=0)
r=num%10;
num=num/10;
sum=sum+(r*r*r);
if(sum==temp)
else
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:
PRIMJER 35:
Program provjerava je li upisani broj veći ili manji od 100, te je li paran ili neparan.
RJEŠENJE:
#include<iostream>
int main()
int a;
if (a==100)
else
if (a<100)
if (a%2==0)
else
if (a%2==0)
else
return 0;
EKRAN:
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>
int main()
{
float broj,rez;
upis:cout<<"Upisi broj:";
cin>>broj;
if (broj<0)
goto upis;
else
rez=sqrt(broj);
return 0;
EKRAN:
Upisi broj:578
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>
int i,rez1,rez2;
cout<<"Unesi broj:";
cin>>i;
if (i%2==0)
rez1=i*i*i;
else
rez2=abs(i);
return 0;
EKRAN:
Unesi broj:6
PRIMJER 38:
RJEŠENJE:
#include<iostream>
int main()
float a,b,c,min;
cin>>a;
cin>>b;
cin>>c;
min=a;
if (b<min)
{min=b;}
if (c<min)
{min=c;}
return 0;
EKRAN:
PRIMJER 39:
RJEŠENJE:
#include<iostream>
int main()
int broj,brojac;
3 iz raspona od 1 do 9999."<<endl;
broj=0;
for(brojac=1;brojac<=9999;brojac++)
if(brojac%3==0)
broj=broj+1;
return 0;
EKRAN:
Program
RJEŠENJE:
#include<iostream>
#include<iomanip>
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;
#include <iostream>
int main(){
// Definisanje varijabli
int dots;
// Ispis odgovarajuce poruke na ekranu
for(;;) {
// Unos broja...
if(cin) break;
cout << "Ne zafrkajite se :P, unesite broj: " << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << dots << " tackica, samo za vas :) -->" << endl;
cin.ignore(1000, '\n');
getchar();
return 0;
PRIMJER 41:
#include <iostream>
int main()
cin>>br;
if(br<=0)
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:
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>
int main()
int a,b,k;
cout<<"Upisi stranice:"<<endl;
cout<<"a = ";
cin>>a;
cout<<"b = ";
cin>>b;
cin>>k;
if(k==1)
if(k==2)
return 0;
}
EKRAN:
Upisi stranice:
a=2
b=4
PRIMJER 43:
RJEŠENJE:
#include<iostream>
#include<cmath>
int main()
float a,b,c,r,k,pi;
pi=3.14;
cout<<"Upisi stranice:"<<endl;
cout<<"a = ";
cin>>a;
cout<<"b = ";
cin>>b;
cout<<"c = ";
cin>>c;
cout<<"r = ";
cin>>r;
cout<<"Kocka (1)"<<endl;
cin>>k;
if(k==1)
if(k==2)
if(k==3)
return 0;
PRIMJER 44:
Napisati program koji dekadni broj ispisuje kao hexadecimalni i oktalni broj.
RJEŠENJE:
#include <iostream>
#include <cmath>
int main() {
int 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:
RJEŠENJE:
#include <iostream>
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 = ";
cout<<"Binarno je :";
do {
do {
return 0;
EKRAN:
Binarno je :11101010
PRIMJER 46:
RJEŠENJE:
#include <iostream>
double rezultat = 1;
return rezultat;
main ()
int a,b;
cin >> a;
cin >> b;
system("PAUSE");
EKRAN:
Unesi bazu : 3
Unesi eksponent : 5
3^5 = 243
PRIMJER 47:
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int main()
{
float a,b,c,d,e,f,g,h;
int i;
switch(i)
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
if (b=0)
printf("\nNije moguce dijeliti s nulom");
break;
default:
break;
system ("PAUSE");
return 0;
EKRAN:
Unesi brojeve : 23
1 - zbrajanje
2 - oduzimanje
3 - mnozenje
4 – dijelenje
Tvoj izbor : 4
Kvocijent je 3.285714
PRIMJER 48:
RJEŠENJE:
#include<iostream>
#include<cmath>
int main ()
float a,b,k;
cout<<" a = ";
cin>>a;
cout<<" b = ";
cin>>b;
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:
RJEŠENJE:
PRIMJER 50:
RJEŠENJE:
#include<stdio.h>
#include<conio.h>
main(void)
int sec;
float sat;
do
scanf("%d",&sec);
sat=sec/3600.;
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;
int mojBroj;
int brojPokusa=0;
do{
cout<<" VISE.\n";
} while(mojBroj != trazeniBroj);
return 0;
PRIMJER 54:
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>
int main()
float broj,rez;
upis:cout<<"Upisi broj:";
cin>>broj;
if (broj<0)
goto upis;
}
else
rez=sqrt(broj);
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>
int main ()
int i,rez1,rez2;
cout<<"Unesi broj:";
cin>>i
if (i%2==0)
rez1=pow(i,3);
}
else
rez2=abs(i);
return 0;
PRIMJER 63:
RJEŠENJE:
#include<iostream>
#include<cmath>
int main()
float x1,y1,x2,y2,pom,d;
cout<<"x1= ";
cin>>x1;
cout<<"y1= ";
cin>>y1;
cout<<"x2= ";
cin>>x2;
cout<<"y2= ";
cin>>y2;pom=pow((x2-x1),2)+pow((y2-y1),2);
d=sqrt(pom);
<<","<<y2<<") je "<<d<<endl;
return 0;
PRIMJER 64:
RJEŠENJE:
#include <iostream>
int main()
cout<<"Program zbraja niz (1 + 1/2 + 1/3 + 1/4 + 1/5 +....+ 1/N)"; float zbroj,brojac,N;
cin>>N;
zbroj=0;
for(brojac=1;brojac<=N;brojac++)
zbroj=zbroj+1/brojac;
return 0;
}
PRIMJER 65:
RJEŠENJE:
#include<iostream>
int main()
int broj,brojac;
8 iz raspona od 1 do 9999."<<endl;
broj=0;
for(brojac=1;brojac<=9999;brojac++)
if(brojac%8==0)
broj=broj+1;
return 0;
PRIMJER 66:
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
int brojac,N;
prirodnog broja."<<endl;
cin>>N;
if (N<=0)
goto upis;
for (brojac=1;brojac<=N;brojac++)
if(N%brojac==0)
cout<<brojac<<" ";
cout<<endl;
return 0;
PRIMJER 14:
RJEŠENJE:
#include<iostream>
int main()
int i;
for(i=100;i<=999;i++)
if(i%10==7)
if(i%7==0)
cout<<i<<endl;
return 0;}
PRIMJER 67:
RJEŠENJE:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
int znak,red,stupac;
znak=32;
for(red=1;red<=45;red++)
for(stupac=1;stupac<=5;stupac++)
cout<<setw(10)<<znak<<" = "<<char(znak);
znak=znak+1;
cout<<endl;
return 0;}
PRIMJER 68:
RJEŠENJE:
#include<iostream>
<<endl;
float R,br,Ruk1,Ruk;
br=0;
Ruk1=0;
cin>>R;
if(R<0)
goto upis;
while(R>0)
br=br+1;
Ruk1=Ruk1+1/R;
cin>>R;
Ruk=1/Ruk1;
cout<<"Ukupni otpor "<<br<<" otpora spojenih u paralelu je "
<<Ruk<<" oma."<<endl;
return 0;}
PRIMJER 69:
RJEŠENJE:
#include<iostream>
#include<cmath>
int main()
float a,b,c,x1,x2,pom1,xR,xi;
cin>>a;
cin>>b;
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);
else
xR=-b/(2*a);
xi=sqrt(-pom1)/(2*a);
cout<<endl<<"z1="<<xR<<"+"<<xi<<"i,
z2=" <<xR<<"-"<<xi<<"i"<<endl;
else
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>
int main ()
cout<<"Ohmov zakon"<<endl;
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;
break;
case 2:
cout<<"I (A)=";
cin>>I;
cout<<"R (om)=";
cin>>R;
U=I*R;
break;
case 3:
cout<<"U (V)=";
cin>>U;
cout<<"I (A)=";
cin>>I;
R=U/I;
break;
default:
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>
int main()
int i;
cin>>i;
switch (i)
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
break;
case 2:
case 4:
case 6:
case 9:
case 11:
break;
default:
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>
int main()
float a,b,c,o,p,p1,pov;
int i;
cin>>i;
cout<<"a = ";
cin>>a;
cout<<"b = ";
cin>>b;
cout<<"c = ";
cin>>c;
if((a<=0)||(b<=0)||(c<=0))
goto kraj;
if((a+b<=c)||(b+c<=a)||(c+a<=b))
goto kraj;
switch(i)
case 1:
o=a+b+c;
break;
case 2:
p=(a+b+c)/2;
p1=p*((p-a)*(p-b)*(p-c));
pov=sqrt(p1);
break;
default:
return 0;}
PRIMJER 73:
Program računa ukupni otpor N otpora spojenih paralelno. Nakon posljednje vrijednosti
otpora unosi se 0.
RJEŠENJE:
include<iostream>
int main()
<<endl;
float R,br,Ruk1,Ruk;
br=0;
Ruk1=0;
cin>>R;
if(R<0)
while(R>0)
br=br+1;
Ruk1=Ruk1+1/R;
cin>>R;
Ruk=1/Ruk1;
<<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>
int main()
float R, R1,R2;
int i;
cout<<"Otpor R1 (u omima):";
cin>>R1;
cout<<"Otpor R2 (u omima):";
cin>>R2;
cin>>i;
switch (i)
case 1:
R=R1+R2;
<<R<<" oma."<<endl;
break;
case 2:
R=(R1*R2)/(R1+R2);
<<R<<" oma."<<endl;
break;
default:
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>
int main()
float promjer,l,r,s,otpor;
cin>>promjer;
cin>>l;
r=promjer/2;
s=r*r*PI;
//Racunanje otpora
otpor=ro*l/s;
<<" oma."<<endl;
return 0;}
PRIMJER 76:
RJEŠENJE:
#include<iostream>
int main()
float m,t,v1,v2,a,F;
cin>>m;
cin>>t;
cin>>v1;
cin>>v2;
//Racunanje akceleracije.
a=(v2-v1)/t;
//Racunanje sile
F=m*a;
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()
float m,h,v,Ep,Ek,Euk;
cin>>m;
cin>>h;
cin>>v;
Ep=m*g*h;
Ek=m*v*v/2;
Euk=Ep+Ek;
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
RJEŠENJE:
#include<iostream>
int main()
float Mc,Ms,Gs,Gc,X,F,S,s1,p;
const float g=9.81; //konstanta je izrazena u m/s2
cin>>Ms;
cin>>Mc;
cin>>X;
Gs=Ms*g;
Gc=Mc*g;
//Racuna se povrsina
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>
cin>>h;
cin>>v;
O=2*Ruk*PI;
<<" 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>
float tmin,m,temp1,temp2,ts,DT,M,Q,P;
cin>>tmin;
cin>>m;
cin>>temp1;
cin>>temp2;
DT=temp2-temp1;
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
Sretno sa programiranjem,
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int main()
int i,N;
cout<<"Unesi clanove 0<N<100 = "; /*broj N mora biti manji od 100 jer je deklariran niz
od maksimalno 100 clanova*/
cin >>N;
return 0;
EKRAN:
12
76
45
12
76
45
RJEŠENJE:
#include <cstdlib>
#include <iostream>
#include <string>
int main()
char a[80];
int i=0;
gets(a);
while (a[i+1]!='\0')
i++;
puts(a);
printf("Duljina mu je %d znakova",i+1);
return 0;
EKRAN:
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int main()
int polje[100];
cin>>N;
cin>> polje[i];
min=polje[0];
// traženje najmanjeg
min = polje[i];
return 0;
}
EKRAN:
Unesite polje[0] = 45
Unesite polje[1] = 3
Unesite polje[2] = 12
Unesite polje[3] = 7
Unesite polje[4] = 98
Primjer 4:Napisati program koji ispisuje neparne članove ,a u drugi red parne članove
unijetog niza.
RJEŠENJE:
#include <iostream>
int main()
int niz[100],N;
cout<<"Unesi N : ";
cin>>N;
cin>>niz[i];
cout<<“Parni clanovi : „;
{
// ispisuje prvo parne
if(niz[i]%2==0)
cout<<niz[i]<<" ";
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:
#include <iostream>
int main()
int niz[100],N,P;
cin>>N;
cin>>P;
cin>>niz[i];
cout<<niz[i]<<" ";
cout<<endl;
return 0;
EKRAN:
13
55
123
17
20
55 17
Primjer 6:Napisati program koji ispisuje članove djeljive sa 5,a u drugi red članove djeljive
sa 3.
RJEŠENJE:
#include <iostream>
int main()
int niz[100],N;
cout<<"Unesi N : ";
cin>>N;
cin>>niz[i];
if(niz[i]%5==0)
cout<<niz[i]<<" ";
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 3 : 24 9 15 87
RJEŠENJE:
#include <iostream>
int main()
int polje[100];
int N,i, j, P;
cin>>N;
cin>> polje[i];
cout<<endl;
cin>>P;
if (polje[i]%P==0)
cout<<polje[i]<<" ";
return 0;
EKRAN:
Unesite polje[0] = 5
Unesite polje[1] = 12
Unesite polje[2] = 33
Unesite polje[3] = 59
Unesite polje[4] = 28
Unesite polje[6] = 16
Unesite djelilac : 4
Primjer 8:Napisati program koji ispisuje sumu (zbir) svakog P-g (i-g ) clana niza.
RJEŠENJE:
#include <iostream>
int main()
{
int niz[100],N,P,s=0;
cin>>N;
cin>>P;
cin>>niz[i];
{s=s+niz[i];}
cout<<s<<" ";
return 0;
}
EKRAN:
36
14
12
20
15
100
53
RJEŠENJE:
#include <iostream>
int main()
int polje[100];
cin>>N;
cin>> polje[i];
cout<<endl;
cin>>P;
{
if (polje[i]%P==0)
s=s+polje[i];
return 0;
EKRAN:
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
Primjer 10:Napisati program koji ispisuje aritmetičku sredinu susjednih članova niza.
RJEŠENJE:
#include <iostream>
int main()
float niz[100],N;
cout<<"Unesi N: ";
cin>>N;
cin>>niz[i];
cout<<((niz[i]+niz[i+1]))/2<<" ";
cout<<endl;
return 0;
EKRAN:
Unesi N: 6
11
15
25
RJEŠENJE:
#include<cstdlib>
#include <iostream>
int i,N,X[100];
int suma = 0;
cout<<"Unesi N: ";
cin>>N;
cin>>X[i];
cout<<suma<<" ";
cout<<endl;
return 0;
EKRAN:
Unesi N:6
12
19
22
Kumulativna suma : 3 7 19 26 45 67
RJEŠENJE:
#include <iostream>
int main()
int niz[100],N;
cout<<"Unesi N: ";
cin>>N;
cin>>niz[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:
#include <iostream>
int main()
int niz[100],N;
cout<<"Unesi N: ";
cin>>N;
cin>>niz[i];
if (i%3==0)
cout<<niz[i]*niz[i]<<" ";
cout<<endl;
system("pause");
return 0;
EKRAN:
Unesi N: 9
9 36 81
RJEŠENJE:
#include <iostream>
int main()
int niz[100],i,N,s=0;
cout<<"Unesi N: ";
cin>>N;
cin>>niz[i];
return 0;
EKRAN:
Unesi N: 5
12
18
Primjer 15: Napisati program koji ispisuje sumu clanova N koji su djeljivi sa P.
RJEŠENJE:
#include <iostream>
int main()
int polje[100];
cin>>N;
cin>> polje[i];
cout<<endl;
cin>>P;
if (polje[i]%P==0)
s=s+polje[i];
return 0;
EKRAN:
Unesite polje[1] =8
Unesite polje[2] =3
Unesite djelilac :4
RJEŠENJE:
#include <iostream>
int main()
int polje[100];
cin>>N;
cin>> polje[i];
cout<<endl;
cin>>P;
if (polje[i]%P==0)
s=s+polje[i]*polje[i];
EKRAN:
Unesite polje[0] = 29
Unesite polje[1] = 3
Unesite polje[2] = 55
Unesite polje[4] = 12
Unesite polje[5] = 91
Unesite djelilac :3
RJEŠENJE:
#include <iostream>
int main()
int niz[100],i,N;
cout<<"Unesi N: ";
cin>>N;
cin>>niz[i];
cout<<"Parnost unatrag :"<<endl;
if(niz[i]%2==0)
cout<<"par ";
else
cout<<"nep ";
cout<<endl;
return 0;
EKRAN:
Unesi N:5
12
37
24
Parnost unatrag :
RJEŠENJE:
#include <iostream>
using namespace std;
int main()
int niz[100],N,i;
cin>>N;
cin>>niz[i];
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:
12
9
26
Primjer 19:Napisati program koji sortira unijeti niz članova u opadajući niz.
RJEŠENJE:
#include <iostream>
int main ()
// DEKLARACIJA
int x[100];
int y[100];
int i, j, N;
// UNOSENJE
cin >> N;
cout << "Unesite clan br. " << i << ": ";
y[i] = x[i];
// SORTIRANJE
for (i = 0; i < N-1; i++)
// STAMPANJE
EKRAN:
X: y:
4 46
12 19
3 12
19 4
46 3
EKRAN:
Unesi N : 6
Unesite polje[0] = 12
Unesite polje[1] = 3
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>
int main()
int niz[100],N;
cout<<"Unesi N : ";
cin>>N;
cin>>niz[i];
cout<<niz[i+2]*niz[i]<<" ";
cout<<endl;
return 0;
EKRAN:
Unesi N: 7
11
15
18 55 12 44 30
RJEŠENJE:
#include <iostream>
int main()
int niz[100],N;
cout<<"Unesi N : ";
cin>>N;
cin>>niz[i];
{
cout<<(niz[i]*niz[i+1])<<" ";
cout<<endl;
return 0;
EKRAN:
Unesi N : 6
12
10 15 36 48 24
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int main()
return 0;
EKRAN:
Unesi N : 4
Unesi 1. broj = 34
Unesi 2. broj = 12
Unesi 3. broj = 8
Unesi 4. broj = 23
Primjer 24: Napisati program koji Ispisuje sumu i aritmetičku sredinu članova niza.
RJEŠENJE:
#include <iostream>
using namespace std;
int main () {
int broj,N,suma=0;
float asred;
cin>>N;
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>
int main()
int polje[100];
int N,i, j, P;
cin>>N;
cin>> polje[i];
cout<<endl;
cin>>P;
if (polje[i]%P==0)
}
return 0;
EKRAN:
Unesite polje[0] = 23
Unesite polje[1] = 12
Unesite polje[2] = 70
Unesite polje[3] = 47
Unesite polje[3] = 91
Unesite djelilac :5
Primjer 26: Napisati program koji Ispisuje najmanji (min) i najveći (max) član niza.
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int main()
int polje[100];
cin>>N;
for(i = 0; i < N; i++){
cin>> polje[i];
min=polje[0];
// traženje najmanjeg
min = polje[i];
max=polje[0];
// traženje najvećeg
max = polje[i];
return 0;
EKRAN:
Unesite polje[0] = 23
Unesite polje[1] = 2
Unesite polje[2] = 55
Unesite polje[3] = 47
Unesite polje[5] = 8
Primjer 27: Napisati program koji Ispisuje najveći (max) član niza i njegovu poziciju(redni
broj) u nizu.
RJEŠENJE:
#include <iostream>
int main () {
char dn;
do {
cout << "Unesite " << n+1 << "-ti broj: ";
} while (dn=='d');
int max=a[0],pmax=0;
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:
RJEŠENJE:
#include <iostream>
int main () {
char dn;
do {
cout << "Unesite " << n+1 << "-i broj: ";
} while (dn=='d');
if (a[i]>a[j]) {
pom=a[i];
a[i]=a[j];
a[j]=pom;
return 0;
RJEŠENJE:
#include <iostream>
int main() {
cin >> x;
cin >> y;
cout << "[" << i << "][" << j << "]: ";
return 0;
Primjer 30: Napisati program koji ispisuje najveći(max) član upisane matrice.
RJEŠENJE:
#include <iostream>
int godDobTemp[redovi][kolone] = {
};
int najveca = 0;
for (int i = 0; i < redovi; ++i)
najveca = temp[i][j];
return najveca;
main ()
return 0;
EKRAN:
RJEŠENJE:
#include <iostream>
#define dim 10
main()
int n,a[dim][dim],max=0;
cin >> n;
for (int i=1; i<=n; i++)
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
if (a[i][j]>max)
max=a[i][j];
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
main()
int n,a[dim][dim],b[dim][dim],max=0;
cin >> n;
{
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 <<"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 n,s=0,p=1;
cin >> n;
for (int i=1; i<=max; i++)
suma[i]=0;
proizvod[i]=1;
cout <<"Mat["<<i<<","<<j<<"]=";
suma[j]+=matrica[i][j];
proizvod[i]*=matrica[i][j];
cout<<endl;
cout<<"Suma["<<i<<"]="<<suma[i]<<endl;
cout<<endl;
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
main()
int n,a[dim][dim],b[dim][dim],c[dim][dim];
cin >> n;
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
cout <<"b["<<i<<","<<j<<"]=";
cin >>b[i][j];
c[i][j]=a[i][j]+b[i][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
main()
int n,a[dim][dim],b[dim][dim],c[dim][dim];
cin >> n;
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
cout <<"b["<<i<<","<<j<<"]=";
cin >>b[i][j];
c[i][j]=a[i][j]*b[i][j];
cout <<"c["<<i<<","<<j<<"]="<<a[i][j]*b[i][j]<<endl;
system ("pause");
return 0;
RJEŠENJE:
#include <iostream>
using namespace std;
int main () {
// Unos
cin >> m;
cin >> n;
cout << "Unesite a(" << i << "," << j << "): ";
// Racunanje
b[i]+=a[i][j];
// Ispis
return 0;
RJEŠENJE:
#include <iostream>
#define dim 10
main()
int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim];
cin >> n;
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
cout <<"b["<<i<<","<<j<<"]=";
cin >>b[i][j];
cout <<"c["<<i<<","<<j<<"]=";
cin >>c[i][j];
d[i][j]=a[i][j]+b[i][j]+c[i][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:
#include <iostream>
int main () {
int starost;
cin.getline(ime,sizeof(ime));
cin.getline(adresa,sizeof(adresa));
cin.getline(adresa,sizeof(adresa));
cout << endl << ime << endl << starost << " godina" << endl << adresa << endl;
return 0;
Matrice
Primjer 1:
RJEŠENJE:
#include <iostream>
#define dim 10
int main()
int n,i,a[dim][dim];
cin >> n;
cout<<endl;
cin >>a[i][j];
cout<<endl;
cout<<endl;
return 0;
}
EKRAN:
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:
RJEŠENJE:
#include <iostream>
#define brr 10
#define brk 10
int main()
{
int n,i,j,m,a[brr][brk];
cin >> n;
cin>>m;
cout<<endl;
cin >>a[i][j];
cout<<endl;
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:
RJEŠENJE:
#include <iostream>
int godDobTemp[redovi][kolone] = {
};
int najveca = 0;
najveca = temp[i][j];
return najveca;
main ()
return 0;
EKRAN:
Primjer 4:
RJEŠENJE:
#include <iostream>
#define dim 10
main()
int n,a[dim][dim],max=0;
cout << "Unesi broj kolona i redova N = ";
cin >> n;
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
if (a[i][j]>max)
max=a[i][j];
system ("pause");
return 0;
EKRAN:
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:
RJEŠENJE:
#include <iostream>
#define brr 10
#define brk 10
int main()
int n,m,a[brr][brk],max=0;
cin >> m;
cin >> n;
cout<<endl;
cin >>a[i][j];
if (a[i][j]>max)
max=a[i][j];
}
cout<<endl;
cout<<endl;
cout<<endl;
return 0;
EKRAN:
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
Primjer 6:
Napisati program koji ispisuje članove pomnožene sa najvećim članom upisane kvadratne
matrice NxN .
RJEŠENJE:
#include <iostream>
#define dim 10
int main()
int n,i,a[dim][dim],b[dim][dim],max=0;
cin >> n;
{
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<<endl;
b[i][j]=max*a[i][j];
cout<<endl;
cout<<endl;
return 0;
}
EKRAN:
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
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
Primjer 7:
Napisati program koji ispisuje pravougaonu matricu MxN i matricu A sortiranu po redovima
min...max.
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int i,j,k;
float A['m']['n'];
int main()
// Unos elemenata matrice po redovima (za unos po kolonama zamijeniti mjesta indeksima)
}}
cout<<endl;
cout<<A[i][j]<<"\t";
cout<<"\n";
if(A[i][k]<A[i][j]){
float pom=A[i][j];
A[i][j]=A[i][k];
A[i][k]=pom;}
}}}
cout<<A[i][j]<<"\t";
cout<<"\n";
system("PAUSE");
return 0;
EKRAN:
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 :
477 79 15 3163
15 79 477 3163
82 152 639 2987
Primjer 8:
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int i,j,k;
float A['m']['n'],R['m'];
int main()
// Unos elemenata matrice po redovima (za unos po kolonama zamijeniti mjesta indeksima)
}}
cout<<endl;
cout<<"\n";
if(A[i][j]>A[i_max][j_max]){
i_max=i;
j_max=j;
}}}
j_max=0;
if(A[i][j]>A[i][j_max]) j_max=j;
R[i]=A[i][j_max];
cout<<"\n";
system("PAUSE");
return 0;
EKRAN:
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
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int i,j,k;
float A['m']['n'];
int main()
}}
cout<<endl;
cout<<A[i][j]<<"\t";
}
cout<<"\n";
float suma=0;
suma+=A[i][j]; // suma=suma+A[i][j];
}}
cout<<endl;
system("PAUSE");
return 0;
EKRAN:
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
Primjer 10:
Napisati program koji ispisuje kvadratnu matricu A,sumu elemenata reda i zbir clanova
kolone.
RJEŠENJE:
#include <iostream.h>
#define max 10
main ()
int n,s=0,p=1;
cin >> n;
sk[i]=0;
sr[i]=0;
cout <<"polje["<<i<<","<<j<<"]=";
sk[j]+=matrica[i][j];
sr[i]+=matrica[i][j];
cout<<endl;
cout<<endl;
cout<<endl;
return 0;
EKRAN:
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
Primjer 11:
Napisati program koji ispisuje pravugaonu matricu MxN, proizvod clanova kolone i sumu
elemenata reda upisane matrice .
RJEŠENJE:
#include <iostream>
#define brr 10
#define brk 10
int main ()
int n,m;
cin >> n;
cin>>m;
cout<<endl;
pk[i]=1;
sr[i]=0;
cout <<"polje["<<i<<","<<j<<"]=";
pk[j]*=matrica[i][j];
sr[i]+=matrica[i][j];
cout<<endl;
cout<<endl;
cout<<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
Primjer 12:
#include <iostream>
#define brr 10
#define brk 10
int main ()
int n,m;
cin >> n;
cin>>m;
cout<<endl;
pk[i]=1;
pr[i]=1;
{
cout <<"polje["<<i<<","<<j<<"]=";
pk[j]*=matrica[i][j];
pr[i]*=matrica[i][j];
cout<<endl;
cout<<endl;
cout<<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
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
int main ()
int n,m;
cout << " Unesi br.redova : ";
cin >> n;
cin>>m;
cout<<endl;
sk[i]=0;
pr[i]=1;
cout <<"polje["<<i<<","<<j<<"]=";
sk[j]+=matrica[i][j];
pr[i]*=matrica[i][j];
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
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
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:
#include <iostream>
#define dim 10
int main()
int n,i,a[dim][dim],zbir;
cin >> n;
cout<<endl;
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<<endl;
return 0;
EKRAN:
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
Primjer 15:
Napisati program za unos matrice A , ispis broja clanova koji su djeljivi sa 3 i broj clanova
djeljivih sa 2 .
RJEŠENJE:
#include <iostream>
#define max 10
int main ()
int matrica[max][max];
int n,s,s1;
cin >> n;
s=0;
s1=0;
}
for (int i=1; i<=n; i++)
cout <<"polje["<<i<<","<<j<<"]=";
s+=matrica[i][j]%3==0;
s1+=matrica[i][j]%2==0;
cout<<endl;
cout<<endl;
cout<<endl;
return 0;
EKRAN:
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
, a djeljivih sa 2 je : 4
Primjer 16:
Napisati program za unos matrice A , ispis clanova djeljivih sa „p“ i njihovu sumu.
RJEŠENJE:
#include <iostream>
#define dim 10
int main()
int n,i,a[dim][dim],zbir,p;
cout<<endl;
cin >>a[i][j];
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<<endl;
cout<<endl;
if(a[i][j]%p==0)
cout<<endl;
return 0;
EKRAN:
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
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>
int i,j,k;
float A['m']['n'];
int main()
}}
cout<<endl;
cout<<A[i][j]<<"\t";
cout<<"\n";
float suma=0;
suma+=A[i][j]; // suma=suma+A[i][j];
}}
cout<<endl;
cout<<endl;
cout<<A[i][j]+int(suma)<<"\t";
cout<<"\n";
system("PAUSE");
return 0;
EKRAN:
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
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>
int i,j,k;
float A['m']['n'],R['m'],K['n'];
int main()
{
cout<<"Unesite broj redova m = "; cin>>m;
}}
cout<<endl;
cout<<A[i][j]<<"\t";
cout<<"\n";
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
j_max=0;
if(A[i][j]>A[i][j_max]) j_max=j;
R[i]=A[i][j_max];
cout<<"\n";
if(A[i][k]<A[i][j]){
float pom=A[i][j];
A[i][j]=A[i][k];
A[i][k]=pom;}
}}}
cout<<"\n";
system("PAUSE");
return 0;
EKRAN:
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
54 123 337
2 3 12 54
4 7 89 123
6 32 100 337
Primjer 19:
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int i,j,k;
float A['m']['n'];
int main()
cout<<endl;
cout<<A[i][j]<<"\t";
cout<<"\n";
cout<<endl;
cout<<endl;
return 0;
EKRAN:
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
12 89 100
Primjer 20:
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int i,j,k;
float A['m']['n'];
int main()
}}
cout<<endl;
cout<<A[i][j]<<"\t";
cout<<"\n";
cout<<endl;
cout<<endl;
cout<<endl;
return 0;
EKRAN:
Unesite broj redova i kolona m = 3
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
1 5 9
3 5 7
Primjer 21:
RJEŠENJE:
#include <iostream>
#define dim 10
using namespace std;
int main()
int n,i,a[dim][dim],suma;
cin >> n;
cout<<endl;
cin >>a[i][j];
suma=0;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
return 0;
RJEŠENJE:
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
12 6 100
Primjer 22:
RJEŠENJE:
#include <stdio.h>
#include <conio.h>
#define MAX 20
int main(){
int i,j,n,mat[MAX][MAX];
float sum=0;
scanf("%d",&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]);
getch();
return 0;
EKRAN:
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
Primjer 23:
Napisati program za unos matrice A i ispis sume clanova glavne dijagonale i ispis zbira
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;
scanf("%d",&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]);
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]);
return 0;
Primjer 24:
Napisati program za unos matrice A i ispis aritmeticke sredine clanova obe dijagonale.
RJEŠENJE:
#include <stdio.h>
#include <conio.h>
#define MAX 20
int main(){
int i,j,n,mat[MAX][MAX];
float sred=0;
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]);
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]);
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;
scanf("%d",&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]);
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");
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:
#include <stdio.h>
#include <conio.h>
#define MAX 20
int main(){
int i,j,n,mat[MAX][MAX];
float sumd=0,suml=0;
scanf("%d",&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]);
for(i=0;i<n;i++){
printf("\n");
for(j=0;j<n;j++){
printf("\t%d",mat[i][j]);
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;
scanf("%d",&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]);
for(i=0;i<n;i++){
printf("\n");
for(j=0;j<n;j++){
printf("\t%d",mat[i][j]);
printf("\n");
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;
scanf("%d",&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];
for(i=0;i<n;i++){
printf("\n");
for(j=0;j<n;j++){
printf("\t%d",mat[i][j]);
printf("\n");
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
main()
int n,a[dim][dim],b[dim][dim],c[dim][dim];
cin >> n;
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
cout <<"b["<<i<<","<<j<<"]=";
cin >>b[i][j];
c[i][j]=a[i][j]+b[i][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:
#include <cstdlib>
#include <iostream>
int i,j,k;
float A['m']['n'];
int main()
}}
cout<<endl;
cout<<A[i][j]<<"\t";
cout<<"\n";
float suma=0;
suma+=A[i][j]; // suma=suma+A[i][j];
}}
cout<<endl;
cout<<endl;
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
main()
int n,a[dim][dim],b[dim][dim],c[dim][dim];
cin >> n;
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
cout <<"b["<<i<<","<<j<<"]=";
cin >>b[i][j];
c[i][j]=a[i][j]*b[i][j];
cout <<"c["<<i<<","<<j<<"]="<<a[i][j]*b[i][j]<<endl;
system ("pause");
return 0;
Primjer 32:
RJEŠENJE:
#include <iostream>
int main () {
// Unos
cin >> m;
cin >> n;
for (int i=0; i<n; i++)
cout << "Unesite a(" << i << "," << j << "): ";
// Racunanje
b[i]+=a[i][j];
// Ispis
return 0;
Primjer 33:
RJEŠENJE:
#include <iostream>
#define dim 10
main()
int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim];
cin >> n;
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
cout <<"b["<<i<<","<<j<<"]=";
cin >>b[i][j];
{
cout <<"c["<<i<<","<<j<<"]=";
cin >>c[i][j];
d[i][j]=a[i][j]+b[i][j]+c[i][j];
cout <<"d["<<i<<","<<j<<"]="<<a[i][j]+b[i][j]+c[i][j]<<endl;
system ("pause");
return 0;
Primjer 34:
RJEŠENJE:
#include <iostream>
#define dim 10
main()
int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim];
cin >> n;
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
cout <<"b["<<i<<","<<j<<"]=";
cin >>b[i][j];
cout <<"c["<<i<<","<<j<<"]=";
cin >>c[i][j];
d[i][j]=a[i][j]+b[i][j]+c[i][j];
cout <<"d["<<i<<","<<j<<"]="<<a[i][j]+b[i][j]+c[i][j]<<endl;
cout<<endl;
cout<<endl;
return 0;
Primjer 35:
RJEŠENJE:
#include <iostream>
#define dim 10
int main()
int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim],e[dim][dim];
cin >> n;
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
}
cin >>b[i][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<<endl;
}cout<<endl;
cout<<endl;
cout<<endl;
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
int main()
int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim],e[dim][dim];
cin >> n;
{
cout <<" a["<<i<<","<<j<<"]=";
cin >>a[i][j];
cout <<"b["<<i<<","<<j<<"]=";
cin >>b[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<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
return 0;
}
Potprogrami(funkcije u C++
2008-08-02 10:57
<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
}
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;
}
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;
}
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();
}
1. poziv funkcije :
a = 6618616
b=0
2. poziv funkcije :
a = 6618616
b = 10
#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:
#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
}
#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;
}
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.
Sintaksa :
ili
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;
}
1.1.7.1 iostream.h
Biblioteka iostream definira razrede (klase) koje podržavaju rad s ulaznim i izlaznim
tokovima.
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.3 math.h
double log(double);
Prirodni logaritam.
double log10(double);
Logaritam po bazi 10.
1.1.7.4 ctype.h
int isupper(int
ch);
Provjerava da li je ch veliko slovo.