Professional Documents
Culture Documents
PROGRAMIRANJE za POČETNIKE
Sretno sa programiranjem,
Primjer 1:
Tradicionalni program svih programera početnika je vrlo jednostavan. Naime radi se o
tome da na monitoru ispiše jedna poruka «Hello world»(ili nešto na tu temu). Ali na ovom
primjeru se vrlo dobro može naučiti kako se iz programa komunicira sa izlaznim uređajima. U
našem slučaju radi se o monitoru. Program se neće naknadno pojašnjavati jer jer je uredno
izkomentarisan. (Komentari u programu su linije koje se ne izvršavaju, nisu instrukcije, već
služe za pojašnjenje programa.).
RJEŠENJE:
/* Prvi program u C++*/
namespace std;
/*Sa viticastom zagradom pocinje izvrsni dio u kodu*/ cout << "Moj
"*********************"«endl'
/*Naredbom cout znakom redirekcije << se postize komunikacija sa monitorom tj.
omogucava nam slanje poruka na ekran, primjetite da se parametar <<endl koji kompajleru
kaze da nakon poruke automatski predje u novi red*/
return 0;
}
EKRAN:
Primjer 2:
Jednostavan program koji već ima unaprijed definisane brojne vrijednosti u obliku
varijabli
i nad njima vrši jednostavne operacije množenja i sabiranja.
RJEŠENJE:
/* Program koji vec ima definisane vrijednosti varijabli i vrsi jednostavne operacije
sabiranja i mnozenja*/
#include <iostream>
int main()
{
EKRAN:
RJEŠENJE:
#include <iostream>
int main()
{ int a, b, c, d, e;
/*Deklarisanje varijabli*/
Unesite dva cijela broja: "«endl; cin > > a; cin >> b;
c=(a*b);
vidljiva na monitoru*/
cout << "Razlika je... " << e<<endl; cout << "Kraj..."«endl; return 0;
}
EKRAN:
12
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>
3
using namespace std;
int main()
{
//Ispis rezultata cou<< "Povrsina kruga je... "< <Povrsina< < endl; cout <<
"Kraj..."<<endl;
return 0;
Program *povrsina i obim kruga*
EKRAN:
Unesite poluprecnik kruga r = :
Primjer 5:
Napisati program koji ispisuje DRUGI korijen upisanog broja.
RJEŠENJE:
#include<cmath>
int main ()
{
int x;
cout<<"x = ";
cin>>x;
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;
cou<< “Dijeljenje dva broja“<<endl; cou<< “ Upisi
prvi broj :“<<endl; cou<< “x = „ ; cin>>x;
cout<< “ Upisi drugi broj : “<<endl; cout<< “y = „ ;
cin>>y; float a=x/y;
”Kraj...”<<endl;
return 0;}
EKRAN:
Dijeljenje dva
: x = 123
Y = 15
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> using namespace std;
int main()
{
float Pi=3.14;
B=r*r*Pi;
Zapremina=B *Visina;
P=(2*B)+M;
return 0;
}
EKRAN:
25.12 Kraj...
PRIMJER 8:
Napisati program koji računa zbir, razliku, umnožak i kvocijent dva realna broja. RJEŠENJE:
float a,b;
cout<<"Unesiprvi broj:"<<endl;
cin>>a;
broj:"<<endl; cin>>b;
"<<a+b<<endl; cout<<a<<"-"<<b<<
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:
cin>>b;
kvoc=a/b;
ostatak=a%b;
EKRAN:
Napisati program koji će izračunati srednju vrijednost po volji izabrana četiri realna broja.
main() {
float a,b,c,d,srvr;
cin>>a>>b>>c>>d; srvr=(a+b+c+d)/4;
EKRAN:
Odvoji ih prazninama.
2345
Srednja vrijednost brojeva:
2, 3, 4 i 5 je 3.5 PRIMJER
11:
RJEŠENJE:
int a;
return 0;
}
EKRAN:
Unesi broj:12
RJEŠENJE:
#include <iostream> #include <conio.h>
using namespace std;
int main()
int X,A;
cin>>A;
X=A++;
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;
EKRAN:
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:
/*Oplosje omotacajeM=4*(a*h/2)*/
float a, Visina,h,Zapremina,B,M,P;
cout<<"Program *Zapremina ipovrsinapiramide*"<<endl;
cout<<" Unesite stranicu osnove(baze) piramide a = ";
cin>>a;
B=a*a;
((a/2)*(a/2)));
M=2*a*h;
P=B+M;
cout<<"Zapreminaje V = "<<Zapremina<<endl;
return 0;
}
EKRAN:
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()
Starost=TrenutnaGodina-GodRodjenja;
Mjeseci=Starost *Mjesec;
return 0;
}
EKRAN:
1982
2009
#include <conio.h>
#include<string>
int main()
string ime;
cin>>god2;
god=god2-godi;
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:
int main()
{
kvocijent=a/b;
< <kvocijent<<endl;
return 0;
}
EKRAN:
Unesi prvi broj a = 152 unesi drugi broj b = 37 Vrijednost izraza a/b = 4.10811 Sadrzaj
RJEŠENJE:
#include <conio.h>
int main()
{
float A;
iznosi:" <<(A+=5)<<endl;
Sada A iznosi:"<<(A-=8)<<endl;
"Kraj..."<<endl; return 0;
}
EKRAN:
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 <conio.h>
int main()
{ bool a,b;
"; cin>>a;
cin>>b;
EKRAN:
PRIMJER 20:
Potrebno je unijeti dva cijela broja. Nakon toga se ti brojevi uspoređuju (<, >, ==, !=) i
ispisuje se rezultat usporedbe.
RJEŠENJE:
#include <conio.h>
int main()
{
int a,b;
"; cin>>a;
"; cin>>b;
EKRAN:
PRIMJER 21:
RJEŠENJE:
int brojac,zbroj;
brojeve."<<endl; zbroj=0;
}
cout<<"Suma(zbroj) svih prirodnih troznamenkastih(trocifrenih) brojeva je "
< <zbroj< <endl;
return 0;
}
EKRAN:
Program zbraja sve trocifrene brojeve.
"; cin>>N;
cin>>broj;
zbroj=zbroj+broj;
}
"<<zbroj<<endl; return 0;
}
EKRAN:
RJEŠENJE:
int n,i,br;
for(i=1;i< =n;i+ +)
{
br=(2*i-1);
cout<<br<<" ";
}
cout<<endl; return 0;
}
EKRAN:
PRIMJER 24:
int broj,brojac,zbroj,N;
for(brojac=1;brojac< =N;brojac++)
{
if(brojac %2==0)
{
zbroj=zbroj+brojac;
broj=broj+1;
EKRAN:
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<cmath >
int main()
{
"Upisi djeljenik:";
cin>>a;
"; 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<<"Provjera: "<<rez<<"*"<<b<<"+
EKRAN:
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:
int main()
{
int a;
upis:cout<< "Upisi broj različit od 0:";cin>>a;
if(a
==0)
else
vrijednost je "<<a<<endl;
}
return 0;
}
EKRAN:
RJEŠENJE:
#include <iostream>
#include <cmath> using namespace std; int main (){ int C,R,F;
R=4*C/5;
F=(9*C/5)+32;
"<<F<<endl; return 0;
}
EKRAN:
PRIMJER 28:
RJEŠENJE:
int brojac,N;
{
if(N%brojac==0)
cout<<brojac<<" ";
cout<<endl; return 0;
}
EKRAN:
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:
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:
int main()
{
int brojac,N;
for (brojac=2;brojac<=(N-1);brojac+ +)
{
if(N%brojac==0)
}
cout<<"Broj "<<N<<"jeprost."<<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:
int main()
{
int br,brojac,zbroj;
cout<< "Program ispisuje sve savrseneprirodne brojeve iz \ raspona od 1 do
10000."<<endl;
{
zbroj=0;
for (brojac=1;brojac<=(br-1);brojac++)
{
if(br%brojac==0)
zbroj=zbroj+brojac;
}
if(zbroj==br)
cout<<br<<" ";
}
return 0;
}
EKRAN:
RJEŠENJE:
int main()
{
int brojac,zbroj,N;
if (N<=0)
goto upis;
if(N%brojac==0)
{
zbroj=zbroj+brojac;
}
if(zbro
j==N)
else
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;
r=num%10;
num=num/10;
sum=sum+(r*r*r);
}
if(sum==temp)
else
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+3 43 ).
RJEŠENJE:
#include<stdio.h>
#include<conio.h>
main(void)
{
int i,j,k,suma;
printf(”\n-Armstrongovi brojevi iz intervala 1-500jesu:-\n”); for(i=1;i<=500;i++)
{
j=i;
suma=0;
while(j!=0)
{
k=j%10;
suma+=(k*k*k);
j/=i0;
}
if(suma==i)
printf(” %d”,i);
}
getch();
}
EKRAN:
Program provjerava je li upisani broj veći ili manji od 100, te je li paran ili neparan.
RJEŠENJE:
0:”;cin>>a; if (a==100)
{
cout<<”Unesen je broj 100, on je paran”« endl;
else if (a<100)
{
}
else
"; if (a%2==0)
cout<<" paran je."<<endl;
else
cout<<" neparan je."<<endl;
}
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<cmath>
int main()
float broj,rez;
upis:cout<<"Upisi broj:";
{
cin>>broj;
if (bro
j<0)
{
rez=sqrt(broj);
cout<<"Kvadratni korijen od "<<broj<<" je "<<rez<<endl;
}
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>
cin>>i; if (i%2==0)
{
rez1=i*i*i;
cout<<"Broj "<<i<<" je paran, a njegova \
int main ()
}
else
{
rez2=abs(i);
cout<<"Broj "<<i<<" je neparan, a njegova \
}
return 0;
}
EKRAN:
Unesi broj:6
PRIMJER 38:
RJEŠENJE:
#include < iostream >
int main()
{
float a,b,c,min;
cout<<"Upisiprvi broj:";
cin>>a;
cout<<"Upisi drugi
broj:"; cin>>b;
cin>>c;
mm=a;
if (b<min)
{min=b;}
if (c<min)
{min=c;}
return 0;
}
EKRAN:
RJEŠENJE:
int broj,brojac;
for(brojac=1;brojac< =9999;brojac+ +)
{
if(brojac %3==0)
broj=broj+1;
djeljivih sa 3."<<endl;
return 0;
}
EKRAN:
Program
RJEŠENJE:
#include<iostream>
main()
{
int i,s,p;
s=10;
p=40;
for(i=1;i<=10;i++)
{
cout<
<setw(s)<<"***"<<setw(p)<<"***"<<e
return 0;
main(){
zelite: ";
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;
getchar(); return 0;
}
PRIMJER 41:
Napisati program koji upisani broj rastavlja na proste faktore.
RJEŠENJE:
#include <iostream>
int main()
{
goto unos;
}
else
prbr=2;
}
else
{
dj1:if(br%prbr==0)
{
cout<<" * "<<prbr;
else
{
prbr=prbr+1;
goto djl;
}
}
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;
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
RJEŠENJE:
float
a,b,c,r,k,pi; pi=3.14;
cout<<"r =
"; cin>>r;
if(k==1)
{
cout<<"Pavrsina kocke je P = "<<6*a*a<<", a zapremina V = "
<<a*a*a< <endl;
}
if(k==2)
{
cou<<"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 << "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:
RJEŠENJE:
int binarni[11];
cout<<"Unesi brojN = ";
"Binarno je :"; do {
do {
EKRAN:
RJEŠENJE:
#include <iostream>
}
main ()
int a,b;
cin >> b;
EKRAN:
PRIMJER 47:
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int main()
{
float a,b,c,d,e,f,g,h;
int i;
mnozenje");
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
default:
break;
printf("\nNije moguce dijeliti s nulom");
EKRAN:
Unesi brojeve : 23 7
1 - zbrajanje
2 - oduzimanje
3 - množenje
4 - dijelenje
RJEŠENJE:
#include<iostream>
#include<cmath>
int main ()
{
float a,b,k;
cout<<" a = ";
cin>>a;
}
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:
/* 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-l;
}
cout<< "To je sve...\n"; system("Pause "); return 0;
}
PRIMJER 50:
RJEŠENJE:
#include<stdio.h>
int sec;
float sat;
do
scanf("%d",&sec);
sat=sec/3600.;
}
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 jednačine : “<<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: XI = „ <<(-b+sqrt(diskr))/(2*a)<< “ iX2 = „<<(-
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:
// Sljedeći 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>
int mojBroj;
int brojPokusa=0;
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 izračunati lijevu i desnu stranu ovog izraza i ispisati ih na ekranu,
koristeći 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
vođenje 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 poml, 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++; }
}
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);
}
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<cmath>
int main()
{
float broj,rez;
upis:cout<<"Upisi broj:";
cin>>broj;
if br
( qj<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>
int main ()
{
int i,rez1,rez2;
(i%2==0)
{
rez1=pow(i,3);
iznosi "<<rez1<<endl;
}
{
rez2=abs(i);
}
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<cmath>
int main()
{
float x1,y1,x2,y2,pom,d;
cout<<"x1= ";
cin>>x1;
cout<<"y1= ";
cin>>y1;
cout<<"Koordinate tocke
cout< < "Udaljenost tocaka A ("< <x1< < ","< <y1 < < ") i B( "<<x2
<<","<<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=0;
for(brojac=1;brojac< =N;brojac++)
{
zbroj=zbroj+ 1/brojac;
}
cout<< "Zbroj "<<N<< " članova ovog niza iznosi "<<zbroj<<endl;
return 0;
using namespace std;
int main()
PRIMJER 65:
RJEŠENJE:
int broj,brojac;
for(brojac=1;brojac< =9999;brojac+ +)
{
if(brojac %8==0)
broj=broj+1;
djeljivih sa 8."<<endl;
return 0;
}
PRIMJER 66:
RJEŠENJE:
#include < iostream >
{
int brojac,N;
broj: ";
cin>>N; if (N<=0)
goto upis;
cout<< "Djelitelji broja "<<N<<" su: ";
{
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
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:
int znak,red,stupac;
znak=32;
for(red=1;red< =45;red+ +)
{
cout<<setw(10)<<znak<<" =
"<<char(znak); znak=znak+1;
}
cout<<endl;
}
return 0;}
PRIMJER 68:
RJEŠENJE:
paralelu" <<endl;
float R,br,Ruk1,Ruk;
using namespace std;
int main()
Ruk1=0;
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<<"
PRIMJER 69:
Treba unijeti koeficijente kvadratne jednadžbe, pa ovisno o njihovim vrijednostima izračunati
i ispisati rješenja.
RJEŠENJE:
#include<cmath>
int main()
{
if (a! 0)
=
{
pom 1=b*b-4*a*c;
if (pom1>=0)
x1=(-b+sqrt(pom1))/(2*a);
x2=(-b-sqrt(pom 1))/(2*a);
cout<< "Rješenja su realni brojevi x1 = "
<<x1<<" i x2="<<x2<<endl;
}
else
xR=-b/(2*a);
xi=sqrt(-pom1)/(2*a);
}
else
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:
case 2:
#include <iostream>
{
int main ()
{
switch (i)
{
case 1:
I=U/R;
break;
cout<< "I (A) = ";
cin>>I;
U=I*R;
break;
case 3:
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:
case 9:
#include < iostream
int i;
cin>>i;
switch (i)
{
12:
break; case 2:
case 4:
case 11:
break;
default:
RJEŠENJE:
#include<cmath>
int main()
{
a,b,c,o,p,p1,pov; int i;
ft .
cout<<"a
case 6:
cin>>a;
= "; cin>>c;
if((a<=0)\\(b<=0)\\(c<=0))
{
kraj;
}
switch(i)
case 1:
o=a+b+c;
case 2:
cout<<"Povrsina se racunapoHeronovojformuli"«endl;
p=(a+b+c)/2;
p1=p*((p-a)*(p-b)*(p-c));
goto upis;
pov=sqrt(p1);
break;
default:
RJEŠENJE:
int main()
{
paralelu" <<endl;
float R,br,Ruk1,Ruk;
Ruk1=0;
while(R>0)
br=br+1;
Ruk1=Ruk1+1/R;
"; cin>>R;
}
Ruk=1/Ruk1;
PRIMJER 74:
Treba izračunati ukupni otpor za otpore R1 i R2 ovisno o tome jesu li spojeni serijski ili
paralelno.
RJEŠENJE:
int main()
{
cout<<"Otpor R1 (u omima):";
cin>>R1;
goto upis;
cout<<"Otpor R2 (u
omima):"; cin>>R2;
2:"; cin>>i;
switch (i)
case 1:
R=R1+R2;
<<R<<" oma."<<endl;
break;
case
2:
R=(R1*R2)/(R1+R2);
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 >
int main()
{
float promjer,l,r,s,otpor;
cin>>promjer;
cin>>l;
r=promjer/2; s=r*r*PI;
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=Av/At).
Vrijednost sile računa se po formuli drugog Newtonovog zakona.
F=m•a
RJEŠENJE:
float m,t,v1,v2,a,F;
cin>>m;
cout<<"Upisi vrijeme (u
s):"; cin>>t;
cin>>v1;
m/s):"; cin>>v2;
//Računanje akceleracije.
a=(v2-v1)/t;
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;
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<<"Padnapona U1 je "<<I*R1<<"
V."<<endl; cout<<"Padnapona U2je "<<I*R2<<"
V."<<endl; cout<<"Padnapona U3je "<<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:
cin>>Ms;
cin>>X;
Gs=Ms*g;
Gc=Mc*g;
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:
cin>>h;
cin>>v;
O=2*Ruk*PI;
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:
float tmin,m,temp1,temp2,ts,DT,M,Q,P;
const float c=4186; //konstanta je izrazena u J/(kg*K)
cin>>temp1;
cin>>temp2;
DT=temp2-temp1;
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<<"Svjetlostprevali 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,
RJEŠENJE:
#include <iostream>
using namespace
}
cout<<" Unijli ste ove članove :"<<endl;
for (i=0;i<N;i++) /*ispis članova niza for petljom*/
{
return 0;
}
EKRAN:
12 3
76
45
12
76
45
RJEŠENJE:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace
gets(a);
while (a[i+1]!='\0')
i++;
puts(a);
printf("Duljina mu je %d znakova",i+1);
return 0;
}
EKRAN:
RJEŠENJE:
#inčlude <čstdlib>
#inčlude <iostream>
int main()
{
min=polje[0];
// traženje najmanjeg for(i = 0; i < N; i++) if(polje [i] < min){ 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 ¥:Napisati program koji ispisuje neparne članove ,a u drugi red parne članove
unijetog niza.
RJEŠENJE:
if(niz[i]%2==0)
čout<<niz[i]<<" ";
}
i++)
{
čout<<niz[i]<<" ";
}
EKRAN:
Unesi N :7
2 35 6 8 7
11
Parni članovi : 2 6 8
Neparni članovi : 35 7 9 11
Primjer 5:Napisati program koji ispisuje svaki P-i (i-i) član niza.
RJEŠENJE:
int main()
{
int niz[100],N,P;
čin>>niz[i];
13
55
123
17
20
Primjer 6:Napisati program koji ispisuje članove djeljive sa 5,a u drugi red članove djeljive
sa 3.
RJEŠENJE:
i<N; i++)
{
if(niz[i]%3==0)
čout<<niz[i]<<" ";
}
EKRAN:
Unesi N: 8
24
35
68
11
15 100
87
Članovi djeljivi sa 3 : 24 9 15 87
RJEŠENJE:
#inčlude <iostream>
int main()
{
čout<<endl;
if
(polje[i]%P==0)
čout<<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 djelilač : 4
Primjer S:Napisati program koji ispisuje sumu (zbir) svakog P-g (i-g ) člana niza.
RJEŠENJE:
#inčlude <iostream>
EKRAN:
36
14
12
20
14 100
53
RJEŠENJE:
#inčlude <iostream>
using namespače
čin>> polje[i];
}
čout<<endl;
}
čout<<" Suma djeljivih sa "<<P<<" ..... "<<s;
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
djeljivih sa 3 ............. 21
Primjer 70:Napisati program koji ispisuje aritmetičku sredinu susjednih članova niza.
RJEŠENJE:
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 8 2 11 6 15 25
RJEŠENJE:
suma = 0;
cout<<"Unesi N:
"; cin>>N;
cin>>X[i];
cout<<suma<<" ";
}
cout<<endl; return 0;
}
EKRAN:
Unesi N:6
2 12 7 19
22
Kumulativna suma : 3 7 19 26 45 67
RJEŠENJE:
EKRAN:
Unesi N: 5 2 3
6
12
Kvadrati članova :
4 9 36 144 25
Primjer 13: Napisati program koji ispisuje kvadrate za svaki treći član niza.
RJEŠENJE:
EKRAN:
Unesi N: 9
7 36 81
RJEŠENJE:
main()
{
int niz[100],i,N,s=0;
cout<<"Unesi N: ";
cin>>N;
cin>>niz[i];
return 0;
}
EKRAN:
Unesi N: 5 12 4 7 18 2
Primjer 15: Napisati program koji ispisuje sumu članova N koji su djeljivi sa P.
RJEŠENJE:
#inčlude <iostream>
int main()
{
cout<<endl;
if (polje[i]%P==0)
s=s+polje[i];
}
EKRAN:
=8 Unesite polje[2] =3
Unesite dj elilac :4
Suma djeljivih sa 4 .... 24
Primjer 16: Napisati program koji Ispisuje sumu kvadrata članova N koji su djeljivi sa P.
RJEŠENJE:
#include <iostream>
using namespace
cin>> polje[i];
}
cout<<endl;
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
unatraške. RJEŠENJE:
int main()
{
cin>>N;
i>=0; i--)
{
cout<<endl; return 0;
}
EKRAN:
Unesi N:5 12 8 5
37
24
RJEŠENJE:
// Provjerava mijenjanje vrijednosti, mijenjanje. cpp #include <iostream>
using namespace std; int main()
{
int niz[100],N,i;
cout<<"pada ";
}
/* ovdje je [i-1] jer provjeravamo unatraske izmedju clana [i] i onog prije njega [i-1]. */
return 0;
}
EKRAN:
7 12
9
26
Primjer 79:Napisati program koji sortira unijeti niz članova u opadajući niz.
RJEŠENJE:
#include <iostream>
int main ()
{
// UNOŠENJE
cout << "Unesite broj članova polja 0<N<100: "; cin >> N;
cout << "Unesite član 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 ( [i]
y < yU]) swap(y[i],y[j]);
// ŠTAMPANJE
EKRAN:
y:
4 46
12 19
3 12
19 4
46 3
RJEŠENJE:
Primjer 20:Unesi niz od N cijelih brojeva te ispiši sortiran niz od najmanjeg(min) do
najvećeg(max).
#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;
}
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()
{
cin>>niz[i];
cout<<niz[i+2]*niz[i]<<" ";
cout<<endl;
return 0;
}
EKRAN:
5 11 2
Unesi N: 7
3 15
18 55 12 44 30
RJEŠENJE:
cout<<endl; return 0;
}
EKRAN:
Unesi N : 6 2
12
10 15 36 48 24
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int main()
{
}
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
Primjer 24: Napisati program koji Ispisuje sumu i aritmetičku sredinu članova niza.
RJEŠENJE:
int main () {
int broj,N,suma=0;
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
cout<<endl;
if (polje[i]%P==0)
cout<<"\n Članovi djeljivi sa "<<P<<" ..... " <<polje[i];
}
return 0;
}
EKRAN:
Unesi broj i N:6
članova
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()
{
cin>>N;
for(i = 0; i < N; i++){
min=polje[0];
max=polje[0];
return 0;
}
EKRAN:
= 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: ";
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:
RJEŠENJE:
#include <iostream>
int main () {
cout << "Unesite " << n+1 << "-i broj: ";
(int i=0;i<n-1;i++)
if (a[i]>a[j])
pom=a[i];
a[i]=a[j];
a[j]=pom;
}
endl; return 0;
}
RJEŠENJE:
#include <iostream>
int main() {
cout << "x: "; //upisimo dimenzije cin > > x; cout << "y: "; cin >>
y;
(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:
#include <iostream>
int godDobTemp[redovi][kolone] = {
return 0;
}
EKRAN:
Najveci(max) clan je .... 49
RJEŠENJE:
#include <iostream>
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<<MNajveci clan je :
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;
j++)
{
cout <<"a["<<i<<","<<j<<"]="; cin
b[i][j]=max*a[i][j];
}
cout
<<"b["<<i<<","<<j<<"]="<<max*a[i][j]<<endl;
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 ()
{
cin >> n;
for (int i=1; i<=max; i++)
{
suma[i]=0;
proizvod[i]=1;
}
j++)
{
matrica[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>
int n,a[dim][dim],b[dim][dim],c[dim][dim];
cin >> n;
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;
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()
{
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
c[i][j]=a[i][j]*b[i][j];
}
cout
<<"c["<<i<<","<<j<<"]="<<a[i][j]*b[i][j]<<endl;
vektorom. RJEŠENJE:
#include <iostream>
using namespace std;
int main () {
// Unos
cin >> m;
cin >> n;
cout << "Unesite a(" << i << "," << j << "):
// Racunanje
i=0;i<n; i++)
b[i]+=a[i][j];
return 0;
}
RJEŠENJE:
#include <iostream>
int
n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim];
cout <<"b["<<i<<","<<j<<"]=";
cin >>b[i][j];
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;
}
Primjer 38: Napisati program za unos imena i prezimena.
RJEŠENJE:
#include <iostream>
using namespace
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:
#define dim 10
#include <iostream>
using namespace std; int main()
{
int n,i,a[dim][dim];
cin >> n;
cout<<endl;
cout<<endl;
i<=n; i++)
{
cout<<endl;
}
return 0;
EKRAN:
12 3 962
23 7 18
156 77 3471
}
Primjer 2:
RJEŠENJE:
#include <iostream>
cin >> n;
cin>>m;
cout<<endl;
j++)
{
>>a[i][j];
}
cout<<endl;
return 0;
}
EKRAN:
Upisi br.redova m = 2
Upisi br.kolona n = 3
Unesi članove :
a[1,1]=2
a[1,2]=13
a[1,3]=155
7 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] = {
return 0;
}
EKRAN:
RJEŠENJE:
#include <iostream>
int n,a[dim][dim],max=0;
cout << "Unesi broj kolona i redova N = ";
cin >> n;
EKRAN:
RJEŠENJE:
int n,m,a[brr][brk],max=0; cout << "Unesi broj redova m = "; cin >> m;
cin >> n;
cout<<endl;
cout<<"Upisi clanove matrice :"<<endl; for (int i=1; i<=m; i++) for (int
j=1;j<=n; 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
316
4 921 15 3
439 2987 152 82
Primjer 6:
Napisati program koji ispisuje članove pomnožene sa najvećim članom upisane kvadratne
matrice NxN .
RJEŠENJE:
<iostream>
int
n,i,a[dim][dim],b[dim][dim],max=0;
cin >> n;
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;
j++) cout
<<b[i][j]<<" \t ";
cout<<endl;
}
return 0;
}
EKRAN:
a[3,1]=12 a[3,2]=33
a[3,3]=5
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>
ij,k;
main()
{
// Unos elemenata matrice po redovima (za unos po kolonama zamijeniti mjesta indeksima)
cout<<A[i][j]<<"\t";
}
cout<<"\n";
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 :
231 1284 56 123
316
477 79 15 3
639 2987 152 82
Primjer 8:
RJEŠENJE:
#include <cstdlib>
#include <iostream>
int i,j,k;
// Unos elemenata matrice po redovima (za unos po kolonama zamijeniti mjesta indeksima)
cout<<endl;
}
cout<<"\n";
// elementu niza R['m'] for(i=0; i<m; i++){ j_max=0; for(j=1; j<n; j++){
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
Najveći elementi redova matriće A su:
639 2987 211 38
RJEŠENJE:
//Ispisuje sumu (zbir) i srednju vrijednost članova pravougaone matrice A #include <cstdlib>
#include <iostream> using namespace std; unsigned int m,n; int ij,k;
cout<<endl;
// Ispis elemenata matrice for(i=0; i<m; i++){ for(j=0; j<n; j++){ cout<<A[i][j]<<"\t";
cout<<"\n";
j<n; j++){
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
RJEŠENJE:
cout << " Unesi br.redova i kolona matrice nxn = "; cin >> n;
sk[i]=0;
sr[i]=0;
sr[i]+=matrica[i][j];
}
cout<<endl;
cout<<endl;
cout<<endl;
for (int i=1; i<=n; i++)
return 0;
}
EKRAN:
Upisana matrica je :
12 378 4
98 111 2
61 9 20
Suma kolone [1] = 171
[1] = 90
Primjer 11:
Napisati program koji ispisuje pravugaonu matricu MxN, proizvod clanova kolone i sumu
elemenata reda upisane matrice .
RJEŠENJE:
#include <iostream>
int main ()
{
cin>>m;
cout<<endl;
pk[i]=1;
sr[i]=0;
for (int i=1; i<=n; i++) for (int j=1; j<=m; j++)
{
pk[j]*=matrica[i][j]; sr[i]+=matrica[i][j];
}
cout<<endl;
cout<<endl;
cout<<endl;
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 21
4
98 111 2 43
74
61 9 20 2
Proizvod kolone [1] = 71736
12:
#include <iostream>
cin>>m;
cout<<endl;
cout<<"Unesi clanove :"<<endl; for (int i=1; i<=brr; i++) for (int
pk[i]=1;
pr[i]=1;
}
for (int i=1; i<=n; i++) for (int j=1; j<=m; j++)
{
pk[j]*=matrica[i][j]; pr[i]*=matrica[i][j ] ;
}
cout<<endl;
cout<<endl;
for (int i=1; i<=m; i++)
cout<<endl;
return 0;
}
EKRAN:
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 članovi pomnozeni sa 2.
RJEŠENJE:
#include <iostream>
#define brr 10
#define brk 10
int main ()
{
int matrica[brr][brk], sk[brk], pr[brr];
int n,m;
cout << " Unesi br.redova : ";
cin >> n;
cin>>m;
cout<<endl;
i<=brk; i++)
{
sk[i]=0;
pr[i]=1;
j<=m; j++)
{
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:
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 2
3
3
11 6 5 3
1 00 20 15 9
članovima pomnoženi sa 2 je :
4 2 6 4
6
6
22 12 10 6
1
2 00 40 30 8
Primjer 14:
Napisati program za unos matrice A , ispis zbira(sume) članova i ispis sume(zbira) elementa
koji su djeljivi sa 2.
RJEŠENJE:
int n,i,a[dim][dim],zbir;
cin >> n;
cout<<endl;
cout<<"Unesi članove :"<<endl; for (int i=1;i<=n;i++) for (int j=1;j<=n; j++)
{
for(int i=1;i<=n;i++)
{
cout<<endl;
\t "; cout<<endl;
}
return 0;
}
EKRAN:
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 članova koji su djeljivi sa 3 i broj članova
djeljivih sa 2 .
RJEŠENJE:
čout << " Unesi br.redova i kolona matriče nxn = "; čin >> n;
s=0;
s1=0;
}
for (int i=1; i<=n; i++) for
cout <<"polje[M<<i<<M,"<<j<<M]=";
s+=matrica[i][j]%3==0;
s1+=matrica[i][j]%2==0;
}
cout<<endl;
cout<<endl;
cout<<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
, a djeljivih sa 2 je : 4 Primjer
16:
Napisati program za unos matrice A , ispis članova djeljivih sa „p“ i njihovu sumu.
RJEŠENJE:
#include <iostream>
main()
{
int n,i,a[dim][dim],zbir,p;
cout << " Upisi br.redova i kolona matrice nxn = ";
cin >> n;
cout<<endl;
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;
for (int
j=1; j<=n; j++)
cout<<endl;
}
cout<<endl;
i<=n; i++)
{
for (int
j=1; j< =n; j+ +) if(a[i][j]%P==0) cout <<a[i][j]<<" \t ";
cout<<endl;
}
return 0;
}
EKRAN:
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> using namespace std; unsigned int m,n; int i,j,k;
float A['m']['n'];
int main()
cout<<endl;
cout<<A[i][j]<<"\t";
}
cout<<"\n";
j++){
suma+=A[i][j]; // suma=suma+A[i][j];
}}
cout<<endl;
"<<suma<<".\n"; 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
Sum svih elemenata matrice A je
a
Matrica B,elementi uvećani 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>
int ij,k;
j++){
cout<<endl;
cout<<A[i][j]<<"\t";
}
cout<<"\n";
// elementu niza R['m'] for(i=0; i<m; i++){ j_max=0; for(j=1; j<n; j++){
R[i]=A[i][j_max];
cout<<"\n";
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
4 7 89 123
6 32 100 337
Primjer 19:
RJEŠENJE:
#include <cstdlib>
#include <iostream>
ij,k;
main()
{
cout<<A[i][j]<<"\t";
}
cout<<"\n";
cout<<endl;
return 0;
}
EKRAN:
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 <iostream> using namespace std; unsigned int m,n; int i,j,k;
}}
cout<<endl;
cout<<A[i][j]<<"\t";
}
cout<<"\n";
cout<<endl;
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;
cout<<endl;
i<=n; i++)
{
for (int j=1; j<=n; j++)
cout <<a[i][j]<<" \t ";
cout<<endl;
}
cout<<endl;
cout<<endl;
cout<<endl;
return 0;
}
RJEŠENJE:
a[3,1]=23
a[3,2]=42
a[3,3]=100
Upisana je matrica A
:
12 3 4
5 6 7
10
23 42 0
CL. glavne dijagonale su :
12 6 100
Primjer 22:
RJEŠENJE:
#include <conio.h>
printf("\nUnesena j e 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:
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 <conio.h>
for(i=0;i<n;i++){
printf("\tM[%d][%d]= ",i+1,j+1);
scanf("%d",&mat[i][j]);
printf("\nUnesena j e matrica:\n\n");
for(i=0;i<n;i++){
printf("\n");
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 <conio.h>
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 j e 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 čiji su članovi uvećani za zbir
članova glavne dijagonale.
RJEŠENJE:
#include <stdio.h>
#include <conio.h>
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("\tM[%d][%d]= ",i+1j+1);
scanf("%d",&mat[i][j]);
printf("\nUnesena j e 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("\nMatrica ciji su clanovi uvecani za ovu sumu je:\n\n");
for(i=0;i<n;i++){
printf("\n");
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:
<stdio.h>
#include <conio.h>
printf("\tM[%d][%d]= ",i+1j+1);
scanf("%d",&mat[i][j]); if(i==j)
sumd += mat[i][j];
}
for(i=0;i<n;i++){
printf("\n");
for(j=0;j<n;j++){ printf("\t%d",mat[i][j]);
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>
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("\tM[%d][%d]= ",i+1j+1);
scanf("%d",&mat[i][j]);
for(i=0;i<n;i++){
printf('V');
for(j=0;j<n;j++){
printf("\t%d",mat[i][j]);
}
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 članova glavne dijagonale, ispis zbira
članova sporedne dijagonale, i ispis matrice B čiji članovi su članovi matrice A pomnoženi sa
sumom(zbirom) članova sporedne dijagonale.
RJEŠENJE:
#inčlude <stdio.h>
#inčlude <čonio.h>
#define MAX 20
int main(){
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("\tM[%d][%d]= ",i+1,j+1);
sčanf("%d",&mat[i][j]);
if(i==j) suml += mat[i][j]; if(i+j==n-1) sumd += mat[i][j];
}
printf("\n");
return 0;
}
Primjer 29:
Napisati program za unos dvije matrice i ispis matrice koja je jednaka njihovom
zbiru(sumi)
RJEŠENJE: #include <iostream>
c[i][j]=a[i][j]+b[i][j];
}
cout <<"c["<<i<<M,"<<j<<M]="<<a[i][j]+b[i][i]<<endl;
RJEŠENJE:
#include <cstdlib>
j<n; j++){
cout<<A[i][j]<<"\t";
}
cout<<"\n";
j++){
suma+=A[i][j]; // suma=suma+A[i][j];
}}
cout<<endl;
cout<<endl;
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]; 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 <<"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;
Primjer 32:
RJEŠENJE:
#include <iostream>
using namespace
// Unos
cin >> m;
// Racunanje
b[i]+=a[i][j];
// Ispis
return 0;
}
Primjer 33:
main()
{
int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim];
cin >> n;
>>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;
Primjer 34:
RJEŠENJE:
#include <iostream>
int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim];
>>a[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; for
Primjer 35:
RJEŠENJE:
#include <iostream>
int n,a[dim][dim],b[dim][dim],c[dim][dim],d[dim][dim],e[dim][dim];
cout<<" Unesi clanove matrice A: "<<endl; for (int i=1; i<=n; i++) for
j++)
{
cin >>b[i][j];
}
j++)
{
>>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; for
}cout<<endl;
cout<<endl;
cout<<endl; for
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()
{
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;
<<d[i][j]<<" \t ";
}
cout<<endl;
cout<<endl;
cout<<endl;
<<e[i][j]<<" \t ";
}
return 0;
}
Potprogrami(funkcije u C++
2008-08-02 10:57
<povratni tip ili void> ime_funkcije (<tip> pari, <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;
}
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;
}
Primjer:
#include <iostream.h>
void funkcija (int n){
cout << “n (int) = “ << 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;
}
Sintaksa :
ili
Primjer :
Sadržaj datoteke “vanjska.cpp” uključujemo u program, čiji izvorni kod se nalazi u datoteci
“Ukljuci.cpp” .
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.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.
Uspoređuje argumente i vraća cijeli broj kao rezultat (0 ako je si jednak s2).
Kao strchr(), ali stane nakon prvih n znakova umjesto nakon null znaka.
*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
double log(double);
Prirodni logaritam.
double log10(double);
Logaritam po bazi 10.
1.1.7.4 ctype.h