zadaci
TRANSCRIPT
Zadaci:Dev C++ 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++*/
#include <iostream>
using namespace std;
/*Predprocesorka direktiva koja se izvrsava prije samog kompajliranja*/
int main() /*Funkcijom main() pocinje svaki program u C++*/
{
/*Sa viticastom zagradom pocinje izvrsni dio u kodu*/
cout << "Moj prvi program u C++"<<endl;
cout << "*********************"<<endl;
/*Naredbom cout znakom redirekcije << se postize komunikacija sa monitorom tj. omogucava nam slanje poruka na ekran, primjetite da se parametar <<endl koji kompajleru kaze da nakon poruke automatski predje u novi red*/
return 0;
}
EKRAN:
Moj prvi program u C++
******************
Primjer 2: Jednostavan program koji već ima unaprijed definisane brojne vrijednosti u obliku varijabli i nad njima vrši jednostavne operacije množenja i sabiranja. RJEŠENJE:
/* Program koji vec ima definisane vrijednosti varijabli i vrsi jednostavne operacije sabiranja i mnozenja*/
#include <iostream>
using namespace std;
int main()
{
int x=5;
int y=9;
cout <<"Program *Zbir i proizvod*";
cout <<endl;
cout <<"Zbir je... "<< x+y <<endl;
cout<<"Proizvod je... "<< x * y<<endl;
return 0;
}
EKRAN:
Program *Zbir i proizvod*
Zbir je... 14
Proizvod je... 45
Primjer 3:Program koji od korisnika traži da se unesu dva cijela broja i nad njima se vrše osnovne matematičke operacije. RJEŠENJE:
/*Program koji vrsi jednostavne matematicke operacije*/
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d, e;
/*Deklarisanje varijabli*/
cout << " Program *Osnovne racunske operacije*"<<endl;
cout << " Unesite dva cijela broja: "<<endl;
cin >> a;
cin >> b;
/*Naredba koja ucitava vrijednosti koje su unesene od strane korisnika*/
c=(a*b);
/*Racunska operacija, ali izvrsena u memoriji racunara, jos uvijek nije
vidljiva na monitoru*/
cout << "Proizvod je... " << c<<endl;
/*Ispis varijable c na monitor*/
d=(a+b);
cout << "Zbir je... " << d<<endl;
e=(a-b);
cout << "Razlika je... " << e<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN:
Program *Osnovne racunske operacije*
Unesite dva cijela broja:
12
3
Proizvod je... 36
Zbir je... 15
Razlika je... 9
Kraj...
Primjer 4:Napisati program koji na osnovu unosa poluprečnika „r“ od strane korisnika računa Obim(obujam) i Površinu (oplošje) kruga. RJEŠENJE:
/* Program za racunanje Obima i Povrsine kruga*/
/* Formula za Obim kruga je O=2*r*PI*/
/* Formula za Povrsinu je P=r2*PI*/
#include <iostream>
using namespace std;
int main()
{
float Poluprecnik, Obim, Povrsina; // Dvije varijable realnog tipa
const float Pi=3.14; //Deklarisanje konstante PI
cout<<" Program povrsina i obim kruga"<<endl;
cout<<" Unesite poluprecnik kruga r = :"<<endl;
cin>>Poluprecnik; //Ucitavanje unesene vrijednosti
Obim=2*Poluprecnik*Pi; //Izracunavanje obima
Povrsina=Poluprecnik*Poluprecnik*Pi;
cout<<"Obim kruga je... "<<Obim<<endl; //Ispis rezultata
cout<<"Povrsina kruga je... "<<Povrsina<<endl;
cout << "Kraj..."<<endl;
return 0;
} EKRAN:
Program *povrsina i obim kruga*
Unesite poluprecnik kruga r = :
1
Obim kruga je... 6.28
Povrsina kruga je...3.14
Kraj...
Primjer 5:Napisati program koji ispisuje DRUGI korijen upisanog broja.
RJEŠENJE: #include<iostream>
#include<cmath>
using namespace std;
int main ()
{
int x;
cout<<" Upisi broj :"<<endl;
cout<<"x = ";
cin>>x;
cout<<"Drugi korijen je : "<<sqrt(x)<<endl;
getchar ();
return 0;
}
EKRAN:
Upisi broj :
x = 345
Drugi korijen je : 18.5742
Primjer 6:Napisati program dijelenje(količnik) dva broja.
RJEŠENJE:
#include<iostream>#include<cmath>using namespace std;int main (){ float x,y;cout<<“ Dijeljenje dva broja“<<endl;cout<<“ Upisi prvi broj :“<<endl;cout<<“x = „;cin>>x;cout<<“ Upisi drugi broj :“<<endl;cout<<“y = „;cin>>y;float a=x/y;cout<<“Kolicnik je „<<a<<endl;
cout << "Kraj..."<<endl;
return 0;}
EKRAN:
Dijeljenje dva broja
Upisi prvi broj :
x = 123
Upisi drugi broj:
Y = 15
Kolicnik je ... 8.2
Kraj...
Primjer 7:Program koji računa zapreminu(volumen) i površinu(oplošje) valjka-cilindra ,ako je poznata visina „H“ i poluprecnik baze „r“. RJEŠENJE:
/* Program za racunanje Zapremine i povrsine Valjka*/
/* Formula za Zapreminu je V=r2*Pi*H*/
/*Formula za povrsinu je P=(2*B)+M*/
/*Povrsina baze je B=r2*Pi*/
/*Oplosje omotaca je M=2*r*Pi*H*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float r, Visina, Zapremina,B,M,P;
const float Pi=3.14;
cout<<" Program *Zapremina i povrsina valjka*"<<endl;
cout<<" Unesite poluprecnik osnove valjka r = ";
cin>>r;
cout<<"Unesite visinu cilindra H = ";
cin>>Visina;
B=r*r*Pi;
Zapremina=B*Visina;
M=2*r*Pi*Visina;
P=(2*B)+M;
cout<<"Zapremina je V = "<<Zapremina<<endl;
cout<<"Povrsina je P = "<<P<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN:
Program *Zapremina i povrsina valjka*
Unesite poluprecnik osnove valjka r = 1
Unasite visinu cilindra H = 3
Zapremina je V = 9.42
Povrsina je P = 25.12
Kraj...
PRIMJER 8:
Napisati program koji računa zbir, razliku, umnožak i kvocijent dva realna broja.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
float a,b;
cout<<"Unesi prvi broj:"<<endl;
cin>>a;
cout<<"unesi drugi broj:"<<endl;
cin>>b;
cout<<a<<"+"<<b<<"="<<a+b<<endl;
cout<<a<<"-"<<b<<"="<<a-b<<endl;
cout<<a<<"*"<<b<<"="<<a*b<<endl;
cout<<a<<"/"<<b<<"="<<a/b<<endl;
return 0;
}
EKRAN:
Unesi prvi broj :
5
Unasi drugi broj :
7
5+7=12
5-7=-2
5*7=35
5/7=0.714286
PRIMJER 9:
Napisati program koji će izračunati cjelobrojni kvocijent i ostatak dijeljenja dva cijela broja.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int a,b,ostatak,kvoc;
cout<<"Upisi djeljenik:";
cin>>a;
cout<<"Upisi djelitelj:";
cin>>b;
kvoc=a/b;
ostatak=a%b;
cout<<a<<":"<<b<<"="<<kvoc
<<" cijelih, a ostatak je "<<ostatak<<endl;
return 0;
}
EKRAN:
Upisi djeljenik: 34
Upisi djelitelj: 7
34:7=4 cijelih, a ostatak je 6
PRIMJER 10:
Napisati program koji će izračunati srednju vrijednost po volji izabrana četiri realna broja.
RJEŠENJE:
include<iostream>
using namespace std;
int main() {
float a,b,c,d,srvr;
cout<<"Unesi cetiri realna broja,"<<endl;
cout<<"odvoji ih prazninama."<<endl;
cin>>a>>b>>c>>d;
srvr=(a+b+c+d)/4;
cout<<endl<<"Srednja vrijednost brojeva: "<<endl;
cout<<a<<", "<<b<<", "<<c<<" i "<<d<<" je " <<srvr<<endl;
return 0;
}
EKRAN:
Unesi cetiri realna broja,
Odvoji ih prazninama.
2 3 4 5
Srednja vrijednost brojeva:
2, 3, 4 i 5 je 3.5
PRIMJER 11:
Potrebno je unijeti cijeli broj, a zatim mu unarnim operatorom promijeniti predznak
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Unesi broj:";
cin>>a;
cout<<endl<<"Kada se broju "<<a
<<" promijeni predznak, on postaje "<<-a<<endl;
return 0;
}
EKRAN:
Unesi broj:12
Kada se broju 12 promijeni predznak,on postaje -12
PRIMJER 12:
Potrebno je unijeti cijeli broj i pohraniti ga u varijablu A, a zatim na taj broj primijeniti unarni operator za uvećavanje nakon dobave iz memorije (A++).
RJEŠENJE:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int X,A;
cout<<"Unesi broj za operaciju A++: ";
cin>>A;
X=A++;
cout<<"Kad operacija zavrsi X= "<<X<<endl;
cout<<"Kad operacija zavrsi A= "<<A<<endl;
getch();
return 0;
}
EKRAN:
Unesi broj za operaciju A++:34
Kad operacija zavrsi X= 34
Kad operacija zavrsi A= 35
PRIMJER 13:
Potrebno je unijeti cijeli broj i pohraniti ga u varijablu A, a zatim na taj broj primijeniti unarni operator za uvećavanje prije dobave iz memorije (++A).
RJEŠENJE:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int X,A;
cout<<"Unesi broj za operaciju ++A: ";
cin>>A;
X=++A;
cout<<"Kad operacija zavrsi X= "<<X<<endl;
cout<<"Kad operacija zavrsi A= "<<A<<endl;
getch();
return 0;
}
EKRAN:
Unesi broj za operaciju ++ A: 34
Kad operacija zavrsi X= 35
Kad operacija zavrsi A= 35
Primjer 14:Program koji računa zapreminu(volumen) i površinu(oplošje) pravilne četverostrane piramide ,ako je poznata visina „H“ i stranica baze „a“.
RJEŠENJE:
/* Program za racunanje Zapremine i povrsine Pravilnecetverostrane piramide*/
/* Formula za Zapreminu je V=B*H/3*/
/*Formula za povrsinu je P=B+M*/
/*Povrsina baze je B=a2 */
/*Oplosje omotaca je M=4*(a*h/2)*/
/*Visina stranice piramide h =sqrt((H*H)+((a/2)*(a/2))) */
int main()
{
float a, Visina,h,Zapremina,B,M,P;
cout<<" Program *Zapremina i povrsina piramide*"<<endl;
cout<<" Unesite stranicu osnove(baze) piramide a = ";
cin>>a;
cout<<"Unesite visinu piramide H = ";
cin>>Visina;
B=a*a;
Zapremina=B*Visina/3;
h=sqrt((Visina*Visina)+((a/2)*(a/2)));
M=2*a*h;
P=B+M;
cout<<"Zapremina je V = "<<Zapremina<<endl;
cout<<"Povrsina je P = "<<P<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN:
Program *Zapremina i povrsina piramide*
Unesite stranicu osnove(baze) piramide a = 6
Unasite visinu piramide H = 4
Zapremina je V = 48
Povrsina je P = 96
Kraj...
Primjer 15:Napisati program koji će od korisnika tražiti da unese podatak o godini rođenja, a na izlazu daje ukupno proživljenih godina plus mjeseci. RJEŠENJE:
/* Program koji racuna koliko imate godina i mjeseci zivota*/
#include<iostream>
using namespace std;
int main()
{
int GodRodjenja, Starost, Mjeseci;
int TrenutnaGodina;
int Mjesec=12;
cout<<"\nKoje ste godine rodjeni? "<<endl;
cin>>GodRodjenja;
cout<<"\nKoja je trenutna godina? "<<endl;
cin>>TrenutnaGodina;
Starost=TrenutnaGodina-GodRodjenja;
Mjeseci=Starost*Mjesec;
cout<<"Trenutno imate "<< Starost <<" godina "<<endl;
cout<<",a to je pretvoreno u mjesece "<< Mjeseci <<" (mjeseci)"<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN:
Koje ste godine rodjeni?
1982
Koja je trenutna godina?
2009
Trenutno imate 27 godina
,a to je pretvoreno u mjesece 324 (mjeseci)
Kraj...
Primjer 16:Napisati program koji će od korisnika tražiti da unese svoje ime i podatak o godini rođenja, a na izlazu daje ime ukupan broj proživljenih godina. RJEŠENJE:
#include<iostream>
#include <conio.h>
#include<string>
using namespace std;
int main()
{ int god, god1, god2;
string ime;
cout<<"Upisi svoje ime:";
cin>>ime;
cout<<endl<<"Upisi godinu svog rodjenja:";
cin>>god1;
cout<<endl<<"Koja je godina sada? ";
cin>>god2;
god=god2-god1;
cout<<endl<<ime<<" ima "<<god<<" godina."<<endl;
getch();
return 0;
}
EKRAN:
Upisi svoje ime:DELILA
Upisi godinu svog rodjenja:1996
Koja je sada godina? 2009
DELILA ima 13 godina.
PRIMJER 17:
Treba izračunati kvocijent dva broja od kojih je jedan cijeli, a drugi realan. Rezultat spremiti u cjelobrojnu varijablu.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int a , kvocijent;
float b;
cout<<"Unesi prvi broj a = ";
cin>>a;
cout<<"unesi drugi broj b = ";
cin>>b;
cout<<"Vrijednost izraza a/b= "<<a/b<<endl;
kvocijent=a/b;
cout<<"Sadrzaj varijable kvocijent iznosi:"
<<kvocijent<<endl;
return 0;
}
EKRAN:
Unesi prvi broj a = 152
unesi drugi broj b = 37
Vrijednost izraza a/b = 4.10811
Sadrzaj varijable kvocijent iznosi:4
PRIMJER 18:
Potrebno je unijeti realni broj i pridružiti ga varijabli A. Sadržaj varijable A prvo treba uvećati za 5, pa umanjiti za 8, na kraju pomnožiti sa 3. Koristiti operatore obnavljajućeg pridruživanja
RJEŠENJE:
#include<iostream>
#include <conio.h>
using namespace std;
int main()
{
float A;
cout<<"Upisi zeljeni broj:";
cin>>A;
cout<<"Sadrzaj varijable A se uvecava za 5. Sada A \
iznosi:"<<(A+=5)<<endl;
cout<<" Od trenutnog sadrzaja varijable A se oduzima 8.\
Sada A iznosi:"<<(A-=8)<<endl;
cout<<" Trenutni sadrzaj varijable A se mnozi sa 3.\
Sada A iznosi:"<<(A*=3)<<endl;
cout << "Kraj..."<<endl;
return 0;
}
EKRAN:
Upisi zeljeni broj:23
Sadrzaj varijable A se uvecava za 5.Sada A iznosi:28
Od trenutnog sadrzaja varijable A se oduzima 8.Sada A iznosi:20
Trenutni sadrzaj varijable A se mnozi sa 3. Sada A iznosi:60
Kraj...
PRIMJER 19:
Potrebno je unijeti dva logička podatka A i B. Ispisuje se negacija od A, vrijednost (A I B) te (A ILI B).
RJEŠENJE:
#include<iostream>
#include <conio.h>
using namespace std;
int main()
{ bool a,b;
cout<<"Vrijednost logickog podatka A=";
cin>>a;
cout<<"Vrijednost logickog podatka B=";
cin>>b;
cout<<endl<<"Ako je logicki podatak A="<<a
<<" tada je suprotno od A="<<!a<<endl;
cout<<"Za A="<<a<<" i B="<<b<<" (A I B)="<<(a&&b)<<endl;
cout<<"Za A="<<a<<" i B="<<b<<" (A ILI B)="<<(a||b)<<endl;
getch();
return 0;
}
EKRAN:
Vrijednost logickog podatka A=0
Vrijednost logickog podatka B=1
Ako je logicki podatak A=0 tada je suprotno A=1
Za A=0 i B=1 (A I B)=0
Za A=0 i B=1 (A ILI B)=1
PRIMJER 20:
Potrebno je unijeti dva cijela broja. Nakon toga se ti brojevi uspoređuju (<, >, ==, !=) i ispisuje se rezultat usporedbe.
RJEŠENJE:
include<iostream>
#include <conio.h>
using namespace std;
int main()
{
int a,b;
cout<<"Vrijednost prvog broja=";
cin>>a;
cout<<"Vrijednost drugog broja=";
cin>>b;
cout<<endl<<"Je li "<<a<<"<"<<b<<" odgovor: "<<(a<b)<<endl;
cout<<endl<<"Je li "<<a<<">"<<b<<" odgovor: "<<(a>b)<<endl;
cout<<endl<<"Je li "<<a<<"=="<<b<<" odgovor: "<<(a==b)<<endl;
cout<<endl<<"Je li "<<a<<"!="<<b<<" odgovor: "<<(a!=b)<<endl;
getch();
return 0;
}
EKRAN:
Vrijednost prvog broja = 5
Vrijednost drugog broja =12
Je li 5<12 odgovor: 1
Je li 5>12 odgovor: 0
Je li 5==12 odgovor: 0
Je li 5!=12 odgovor: 1
PRIMJER 21:
Potrebno je sabrati(zbrojiti) sve prirodne troznamenkaste(trocifrene) brojeve.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int brojac,zbroj;
cout<<"Program zbraja sve prirodne trocifrene brojeve."<<endl;
zbroj=0;
for(brojac=100;brojac<=999;brojac++)
{
zbroj=zbroj+brojac;
}
cout<<"Suma(zbroj) svih prirodnih troznamenkastih(trocifrenih) brojeva je " <<zbroj<<endl;
return 0;
}
EKRAN:
Program zbraja sve trocifrene brojeve.
Suma(zbroj) svih prirodnih troznamenkastih(trocifrenih)brojeva je 494550
PRIMJER 22: Potrebno je sabrati ( zbrojiti) N odabranih prirodnih brojeva.
RJEŠENJE:
include<iostream>
using namespace std;
int main()
{
int broj,brojac,zbroj,N;
zbroj=0;
cout<<"Upisi koliko brojeva zelis sabrati: ";
cin>>N;
for (brojac=1;brojac<=N;brojac++)
{
cout<<"Upisi broj: ";
cin>>broj;
zbroj=zbroj+broj;
}
cout<<"Zbroj (suma) unesenih brojeva je "<<zbroj<<endl;
return 0;
}
EKRAN:
Upisi koliko brojeva zelis sabrati: 4
Upisi broj: 34
Upisi broj: 5
Upisi broj: 103
Upisi broj: 22
Zbroj(suma) unesenih brojeva je 164
PRIMJER 23:
Potrebno je ispisati prvih N neparnih brojeva.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
cout<<"Program ispisuje prvih N neparnih brojeva."<<endl;
int n,i,br;
cout<<"Upisi zeljeni broj neparnih brojeva: ";
cin>>n;
for(i=1;i<=n;i++)
{
br=(2*i-1);
cout<<br<<" ";
}
cout<<endl;
return 0;
}
EKRAN:
Program ispisuje prvih N neparnih brojeva.
Upisi zeljeni broj neparnih brojeva: 5
1 3 5 7 9
PRIMJER 24:
Potrebno je prebrojiti i sabrati sve parne prirodne brojeve iz raspona od 1 do N .
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int broj,brojac,zbroj,N;
cout<<"Program prebrojava i zbraja sve parne prirodne \
brojeve iz raspona od 1 do N."<<endl;
broj=0;
zbroj=0;
cout<<"Upisi gornju granicu raspona: ";
cin>>N;
for(brojac=1;brojac<=N;brojac++)
{
if(brojac%2==0)
{
zbroj=zbroj+brojac;
broj=broj+1;
}
}
cout<<"U intervalu od 1 do "<<N<<" ima "<<broj <<" brojeva \
djeljivih sa 2. Njihov zbroj je "<<zbroj<<endl;
return 0;
}
EKRAN:
Program prebrojava i zbraja sve parne prirodne brojeve iz raspona od 1 do N .
Upisi gornju granicu raspona: 23
U intervalu od 1 do 23 ima 11 brojeva djeljivih sa 2.Njihov zbroj je 132
PRIMJER 25:
Treba unijeti dva realna broja pa izračunati i ispisati njihov cjelobrojni kvocijent i ostatak dijeljenja. Potrebno je načiniti i provjeru. Ako je djelitelj 0, treba ispisati poruku:
RJEŠENJE:
include<iostream>
#include<cmath >
using namespace std;
int main()
{
float a,b,ost,rez;
cout<<"Upisi djeljenik:";
cin>>a;
cout<<"Upisi djelitelj:";
cin>>b;
if (b==0)
cout<<"Ne moze se dijeliti sa 0."<<endl
else
{
rez=a/b;
rez=floor(rez);
ost=fmod(a,b);
cout<<endl<<a<<"/"<<b<<"="<<rez<<" cijelih i "
<<ost<<" ostatka."<<endl;
cout<<endl<<"Provjera: "<<rez<<"*"<<b<<"+"<<ost
<<"="<<rez*b+ost<<endl;
}
return 0;
}
EKRAN:
Upisi djeljenik: 29
Upisi djrlitelj: 3
29/3=9 cijelih i 2 ostatka.
Provjera: 9*3+2=29
PRIMJER 26:
Napisati program koji za unijeti broj ispisuje da li je pozitivan ili negativan te njegovu apsolutnu vrijednost.Ako je upisana 0 „Pogresan unos!.Ponovi!“.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int a;
upis:cout<<"Upisi broj razlicit od 0:";cin>>a;
if(a==0)
{
cout<<"Pogresan unos. Ponovi!"<<endl;
goto upis;
}
if(a<0)
{
cout<<"Broj "<<a<<" je negativan. Njegova apsolutna\
vrijednost je "<<-a<<endl;
}
else
{
cout<<"Broj "<<a<<" je pozitivan. Njegova apsolutna\
vrijednost je "<<a<<endl;
}
return 0;
}
EKRAN:
Upisi broj različit oa 0 : -37
Broj -37 je negativan.Njegova apsolutna vrijednost je 37
PRIMJER 27:
Napisati program koji stepene Celzija pratvara u stepene Reaumur i Fahrenheit.
RJEŠENJE:
/*Program pretvara stepene Celzija u Reaumur-ove i Fahrenheit-ove*/
#include <iostream>
#include <cmath>
using namespace std;
int main (){
int C,R,F;
cout<<"Upisi stepene CELZIJ-a: ";
cin>>C;
R=4*C/5;
F=(9*C/5)+32;
cout<<"Reaumur = "<<R<<endl;
cout<<"Fahrenheit = "<<F<<endl;
return 0;
}
EKRAN:
Upisi stepene CELZIJ-a : 40
Reaumur = 32
Fahrenheit = 104
PRIMJER 28:
Napisati program koji za unijeti broj ispisuje njegove djelitelje.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int brojac,N;
cout<<"Program ispisuje djelitelje odabranog \
prirodnog broja." <<endl;
upis:cout<<"Upisi prirodni broj: ";
cin>>N;
if (N<=0)
goto upis;
cout<<"Djelitelji broja "<<N<<" su: ";
for (brojac=1;brojac<=N;brojac++)
{
if(N%brojac==0)
cout<<brojac<<" ";
}
cout<<endl;
return 0;
}
EKRAN:
Program ispisuje djelitelje odabranog prirodnog broja.
Upisi prirodni broj: 123
Djelitelji broja 123 su: 1 3 41 123
PRIMJER 29:
Napisati program koji ispisuje sve trocifrene brojeve čiji je zbir cifara 5.
RJEŠENJE:
include<iostream>
using namespace std;
int main()
{
int i,pom,j,d,s;
cout<<"Program ispisuje sve trocifrene brojeve \
ciji je zbir cifri 5."<<endl;
cout<<"Brojevi ciji je zbir cifri 5 su: "<<endl;
for(i=100;i<=999;i++)
{
pom=i;
j=pom%10;
d=(pom/10)%10;
s=pom/100;
if(j+d+s==5)
cout<<i<<endl;
}
return 0;
}
EKRAN:
Program ispisuje sve trocifrene brojeve ciji je zbir cifri 5.
Brojevi ciji je zbir cifri 5 su:
104
113
122
131
140
203
212
221
230
302
311
320
401
410
500
PRIMJER 30:
Napisati program koji ispisuje na ekranu da li je unijeti broj prost ili ne.Broj je prost ako je djeljiv samo sa 1 i samim sobom.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int brojac,N;
cout<<"Program ispituje je li odabrani prirodni broj prost.";
upis:cout<<endl<<"Upisi prirodni broj: ";
cin>>N;
if (N<=0)
goto upis;
for (brojac=2;brojac<=(N-1);brojac++)
{
if(N%brojac==0)
{
cout<<"Broj "<<N<<" nije prost."<<endl;
goto kraj;
}
}
cout<<"Broj "<<N<<" je prost."<<endl;
kraj:return 0;
}
EKRAN:
Program ispituje je li odabrani broj prost.
Upisi prirodni broj : 151
Broj 151 je prost.:
PRIMJER 31:
Ispisuje sve savršene prirodne brojeve iz raspona od 1 do 10000. Broj je savešen ako je jednak sumi(zbiru) svojih djelitelja npr: 28 = 1 + 2 +4 +7 + 14.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int br,brojac,zbroj;
cout<<"Program ispisuje sve savrsene prirodne brojeve iz \ raspona od 1 do 10000."<<endl;
cout<<"Savrseni brojevi su: ";
for(br=1;br<=10000;br++)
{
zbroj=0;
for (brojac=1;brojac<=(br-1);brojac++)
{
if(br%brojac==0)
zbroj=zbroj+brojac;
}
if(zbroj==br)
cout<<br<<" ";
}
return 0;
}
EKRAN:
Program ispisuje sve savrsene prirodne brojeve iz raspona od 1 do 10000.
Savrseni brojevi su: 6 28 496 8128
PRIMJER 32:
Napisati program koji ispituje da li je upisani prirodni broj savršen.Broj je savešen ako je jednak sumi (zbiru) svojih djelitelja npr: 6 = 1 + 2 +3.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int brojac,zbroj,N;
cout<<"Program ispituje da li je odabrani prirodni broj savrsen.";
upis:cout<<endl<<"Upisi prirodni broj: ";
cin>>N;
zbroj=0;
if (N<=0)
goto upis;
for (brojac=1;brojac<=(N-1);brojac++)
{
if(N%brojac==0)
{
zbroj=zbroj+brojac;
}
}
if(zbroj==N)
cout<<"Broj "<<N<<" je savrsen."<<endl;
else
cout<<"Broj "<<N<<" nije savrsen."<<endl;
return 0;
}
EKRAN:
Program ispituje da li je odabrani prirodni broj savrsen.
Upisi prirodni broj: 8128
Broj 8128 je savrsen
PRIMJER 33:
Napisati program koji ispituje da li je upisani prirodni broj armstrongov. Armstrongov broj je broj koji je jednak sumi kubova svoji cifara npr. 153 = 13+53+33 = 1+125+27.
RJEŠENJE:
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
int num,r,sum=0,temp;
printf("\nUnesi broj N = : ");
scanf("%d",&num);
temp=num;
while(num!=0)
{
r=num%10;
num=num/10;
sum=sum+(r*r*r);
}
if(sum==temp)
printf("\nBroj %d jeste armstrongov broj.",temp);
else
printf("\nOvaj broj %d nije armstrongov broj.",temp);
return 0;
}
PRIMJER 34:
Program koji ispisuje armstrongove brojeve iz intervala 1-500.( Armstrongov broj je broj koji je jednak sumi kubova svoji cifara npr. 407 = 43+03+73 = 64+0+343 ).
RJEŠENJE: #include<stdio.h>#include<conio.h>main(void){int i,j,k,suma;printf("\n-Armstrongovi brojevi iz intervala 1-500 jesu:-\n");for(i=1;i<=500;i++){j=i;suma=0;while(j!=0){k=j%10;suma+=(k*k*k);j/=10;
}if(suma==i)printf(" %d",i);}getch();}
EKRAN:
-Armstrongovi brojevi iz intervala 1-500 jesu:-
1 153 370 407
PRIMJER 35:
Program provjerava je li upisani broj veći ili manji od 100, te je li paran ili neparan.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Upisi broj razlicit od 0:";cin>>a;
if (a==100)
{
cout<<"Unesen je broj 100, on je paran"<<endl;
}
else
if (a<100)
{
cout<<"Uneseni broj je manji od 100 i ";
if (a%2==0)
cout<<" paran je."<<endl;
else
cout<<" neparan je."<<endl;
}
else
{
cout<<"Uneseni broj je veci od 100 i ";
if (a%2==0)
cout<<" paran je."<<endl;
else
cout<<" neparan je."<<endl;
}
return 0;
}
EKRAN:
Upisi broj razlicit od 0: 236
Uneseni broj je veci od 100 i paran je.
PRIMJER 36:
Program provjerava je li upisani broj >= 0. Ako je, računa se kvadratni korijen tog broja, a ako nije ispisuje se poruka: Broj je manji od 0, ponovi upis. i ponavlja se unos broja.
RJEŠENJE:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
float broj,rez;
upis:cout<<"Upisi broj:";
cin>>broj;
if (broj<0)
{
cout<<"Broj je manji od 0, ponovi upis"<<endl;
goto upis;
}
else
{
rez=sqrt(broj);
cout<<"Kvadratni korijen od "<<broj<<" je "<<rez<<endl;
}
return 0;
}
EKRAN:
Upisi broj:578
Kvadratni korijen od 578 je 24.0416
PRIMJER 37:
Treba unijeti cijeli broj pa provjeriti je li paran. Ako je paran, treba izračunati i ispisati njegovu treću potenciju, a ako nije, apsolutnu vrijednost.
RJEŠENJE:
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
int i,rez1,rez2;
cout<<"Unesi broj:";
cin>>i;
if (i%2==0)
{
rez1=i*i*i;
cout<<"Broj "<<i<<" je paran, a njegova \
treca potencija iznosi "<<rez1<<endl;
}
else
{
rez2=abs(i);
cout<<"Broj "<<i<<" je neparan, a njegova \
apsolutna vrijednost iznosi "<<rez2<<endl;
}
return 0;
}
EKRAN:
Unesi broj:6
Broj 6 je paran, a njegova treca potencija iznosi 216
PRIMJER 38:
Napisati program koji od tri upisana broja na ekranu ispisuje najmanji..
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
float a,b,c,min;
cout<<"Upisi prvi broj:";
cin>>a;
cout<<"Upisi drugi broj:";
cin>>b;
cout<<"Upisi treci broj:";
cin>>c;
min=a;
if (b<min)
{min=b;}
if (c<min)
{min=c;}
cout<<"Ako se upisu brojevi: "<<a<<", "<<b<<" i "<<c
<<" najmanji od njih je "<<min<<endl;
return 0;
}
EKRAN:
Upisi prvi broj:154
Upisi drugii broj:28
Upisi treci broj:375
Ako se upisu brojevi: 154, 28, i 375 najmanji od njih je 28
PRIMJER 39:
Potrebno je prebrojiti sve prirodne brojeve djeljive sa 3 iz raspona od 1 do 9999.
RJEŠENJE:
#include<iostream>
using namespace std;
int main()
{
int broj,brojac;
cout<<"Program prebrojava sve prirodne brojeve djeljive sa \
3 iz raspona od 1 do 9999."<<endl;
broj=0;
for(brojac=1;brojac<=9999;brojac++)
{
if(brojac%3==0)
broj=broj+1;
}
cout<<"U intervalu od 1 do 9999 ima "<<broj
<<" brojeva djeljivih sa 3."<<endl;
return 0;
}
EKRAN:
Program
Prebrojava sve prirodne brojeve djeljive sa 3 iz raspona od 1 do 9999.
U intervalu od 1 do 9999 ima 3333 brojeva djeljivih sa 3.
PRIMJER 40:
Potrebno je ispisati tekst *** u obliku slova V.
RJEŠENJE:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,s,p;
s=10;
p=40;
for(i=1;i<=10;i++)
{
cout<<setw(s)<<"***"<<setw(p)<<"***"<<endl;
s=s+2;
p=p-4;
}
return 0;
} // Ukljucivanje bibilioteke u program
#include <iostream>
using namespace std;
// Definisanje glavne funkcije programa
int main(){
// Definisanje varijabli
int dots;
// Ispis odgovarajuce poruke na ekranu
cout << "Koliko tackica zelite: ";
// Beskonacna for petlja, prekinut cemo je sa funkcijom break...
for(;;) {
// Unos broja...
cin >> dots;
// Ukoliko je unesena vrijednost broj izlazi se iz for petlje
// u suprotnom se ispisuje odgovarajuca poruka, brise ulazni bufer
// i znakovi upisani u bufer i ponovo se unosi broj...
if(cin) break;
cout << "Ne zafrkajite se :P, unesite broj: " << endl;
cin.clear();
cin.ignore(10000, '\n');
}
// Nakon sto se unese ispravan broj, ispis poruke na ekran...
cout << dots << " tackica, samo za vas :) -->" << endl;
// I nakon poruke, jos ispis tackica...
for(int brojac=0;brojac<dots;brojac++) cout << ".";
// Brisanje ulaznog bufera i kraj programa...
cin.ignore(1000, '\n');
getchar();
return 0;
}
PRIMJER 41:
Napisati program koji upisani broj rastavlja na proste faktore.
RJEŠENJE:
#include <iostream>
using namespace std;
int main()
{
int br, prbr;
cout<<"Rastavljanje broja na proste faktore"<<endl;
unos:cout<<"Upisi broj veci od 0:";
cin>>br;
if(br<=0)
{
cout<<"Treba unijeti broj veci od 0"<<endl;
goto unos;
}
else
{
prbr=2;
cout<<br<<" = 1";
dj2:if(br==1)
{
goto kraj;
}
else
{
dj1:if(br%prbr==0)
{
cout<<" * "<<prbr;
br=br/prbr;
goto dj2;
}
else
{
prbr=prbr+1;
goto dj1;
}
}
}
kraj:cout<<endl;
return 0;
}
EKRAN:
Rastavljanje broja na proste faktore
Upisi broj veci od 0:24
24=1*2*2*2*3