pr2 pitanja

26
8/15/2019 pr2 pitanja http://slidepdf.com/reader/full/pr2-pitanja 1/26 1. Koristeći rekurziju, napisati program koji od korisnika traži da unese broj čija vrijednost mora biti u opsegu od 1 do 10. Unesenu vrijednost predati funkciji, koja treba da se izvršava onoiko puta koika je vrijednost predanog argumenta !ako korisnik unese broj ", funkcija treba da " puta pozove sama sebe#. $ri svakom pozivu, funkcija treba da ispiše trenutnu vrijednost predanog argumenta. %incude &iostream' using namespace std( void rek)unkcija!int broj# **zagavje rekurzivne funkcije + if !broj'0#+ **provjera usova da i je broj veci od 0 cout&&-renutna vrijednost varijabe broj je&&broj&&end(  broj//( **dekrementiranje vrijednosti argumenta broj rek)unkcija!broj#( **ponovni poziv funkcije / rekurzija **kraj if/a **kraj definicije funkcije void main!#+ cout&&tt 23KU24567 nn( **broj koji unosi korisnik, a kojim se odredjuje broj rekurzivni8 poziva int broj 9 0( do+ cout&&Unesite broj od 1 do 10 ( cin''broj( **onemogucavamo unos brojeva veci8 od 10 ii manji8 od 1 :8ie!broj'10 ;; broj&1#( cout&&n<75=prije poziva rekurzivne funkcije> nn( rek)unkcija!broj#( **poziv funkcije cout&&n<75=posije poziva rekurzivne funkcije> nn( ?. Koristeći rekurziju, napisati program koji korisniku omogućava da unese žejeni tekst. Usov za završetak programa je da uneseni tekst sadrži najmanje jednu tačku !.#. =akon unosa, program treba obrnutim redosijedom ispisati sve znakove koji su uneseni do  prvog znaka tačke. %incude &iostream' using namespace std( void prikaziUnazad!#+ c8ar znak( cin''znak( if!znak>9@.@#+

Upload: anel-pervan

Post on 05-Jul-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 1/26

1. Koristeći rekurziju, napisati program koji od korisnika traži da unese broj čija vrijednostmora biti u opsegu od 1 do 10. Unesenu vrijednost predati funkciji, koja treba da seizvršava onoiko puta koika je vrijednost predanog argumenta !ako korisnik unese broj ",

funkcija treba da " puta pozove sama sebe#. $ri svakom pozivu, funkcija treba da ispišetrenutnu vrijednost predanog argumenta.

%incude &iostream'using namespace std(

void rek)unkcija!int broj# **zagavje rekurzivne funkcije+

if !broj'0#+ **provjera usova da i je broj veci od 0cout&&-renutna vrijednost varijabe broj je&&broj&&end(

 broj//( **dekrementiranje vrijednosti argumenta brojrek)unkcija!broj#( **ponovni poziv funkcije / rekurzija

**kraj if/a**kraj definicije funkcije

void main!#+cout&&tt 23KU24567 nn(**broj koji unosi korisnik, a kojim se odredjuje broj rekurzivni8 pozivaint broj 9 0(do+cout&&Unesite broj od 1 do 10 (

cin''broj(**onemogucavamo unos brojeva veci8 od 10 ii manji8 od 1:8ie!broj'10 ;; broj&1#(cout&&n<75=prije poziva rekurzivne funkcije> nn(rek)unkcija!broj#( **poziv funkcijecout&&n<75=posije poziva rekurzivne funkcije> nn(

?. Koristeći rekurziju, napisati program koji korisniku omogućava da unese žejeni tekst.Usov za završetak programa je da uneseni tekst sadrži najmanje jednu tačku !.#. =akonunosa, program treba obrnutim redosijedom ispisati sve znakove koji su uneseni do

 prvog znaka tačke.

%incude &iostream'using namespace std(void prikaziUnazad!#+c8ar znak(cin''znak(if!znak>9@.@#+

Page 2: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 2/26

 prikaziUnazad!#(cout&&znak(esecout&&nAbrnutim redosjedom ste unijei (

void main!#+cout&&tt23KU24567nn(cout&&Unesite vas tekst (

 prikaziUnazad!#(cout&&nn<75=$ABC563 poziva rekurzivne funkcijenn(

D. Koristeći rekurziju, napisati program koji od korisnika traži da unese neko sovo. =akonunosa, program treba da ispiše sva sova koja se naaze izmeEu unesenog i sova @7@. $oredoznake sova, program treba da ispiše i njima pripadajući 7BF55 kod.

-akoEer, potrebno je ispisati odgovarajuću poruku u sučaju da korisnik unese znak koji ima7BF55 vrijednost manju od sova @7@.

 Napomene:

Kada se kaže manje ii veće sovo, naravno, misi se na vrijednost 7BF55 koda koji je 

asociran sa odreEenim sovom.

7BF55 kod za mao sovo  a je GH, a za veiko sovo A je I".

%incude &iostream'using namespace std(void prikaziBovo!c8ar sovo#+if!sovo'9@7@#+cout&&nBovo je @&&sovo&&@ ; 7BF55 code &&!int#sovo(sovo//( **dekrementiranje

 prikaziBovo!sovo#( **ponovni poziv funkcijeese

cout&&nn=ije dozvojeno prikazivanje znakova koja imaju 7BF55 kod manji od I">&&end(void main!#+c8ar sovo(cout&&tt23KU24567nn(cout&&Unesite neko sovo (cin''sovo(cout&&nn$ozivam funkcijunn(

 prikaziBovo!sovo#(cout&&nn$onovo u <ain funkcijinn(

Page 3: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 3/26

J. =apraviti program koji korisniku omogućava da unese neki broj. =akon unosa, programtreba da, koristeći rekurzivnu funkciju, izračuna sumu svi8 parni8 brojeva koji se naazeizmeEu unesenog i broja 100. $riikom izrade programa voditi računa o tome da korisnik

može unijeti broj koji je veći ii manji od broja 100.

%incude &iostream'using namespace std(int sum$arne!int broj#+if!broj99100#**bazni sucajreturn 0(if!broj&100#+ **ako je broj manji od 100if!broj?990#**ako je paranreturn broj L sum$arne!brojL?#(ese**ako je neparanreturn sum$arne!brojL1#(ese+**ako je broj veci od 100if!broj?990#**ako je paranreturn broj L sum$arne!broj/?#(ese**ako je neparanreturn sum$arne!broj/1#(

void main!#+int broj90(cout&&Unesite neki broj (cin''broj(int suma9sum$arne!broj#(cout&&Buma parni8 brojeva je &&suma&&end(

". =iz kao parametar funkcije

Page 4: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 4/26

Page 5: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 5/26

Page 6: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 6/26

G. $repravite funkciju f1 tako da, funkcija f1 ne poziva funkciju f? nego funkciju f1 !samusebe#. $o mogućnosti formatirajte program na sjedeći način

f1!D# 9 D V f1!?#f1!?# 9 ? V f1!1#

f1!1# 9 1 V f1!0#f1!0# 9 1D> 9 I

%incude &iostream'using namespace std(int f1!int n#+cout && f1! && n && # 9 (if !n990#

+cout && 1 && end(return 1( ** bazni sucajese+cout && n && V f1! && n/1 && # n(return !n V f1!n/1# #(void main!#+int r(r 9 f1!D#(cout && D> 9 && r && end( 

10. =apravite rekurzivnu funkciju za računanje sume kvadrata od 1 do n.

#include <iostream> using namespace std;int f1(int n)

{ if  (n == 1)return 1;

elsereturn (n*n + f1(n - 1));

}

int main(){

int n;cout << "nesite !ro n " << endl;cin >> n;

cout<<"uma $%adrata od !roa 1 do tog !roa e "<<f1(n);s&stem("pause>'");}

Page 7: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 7/26

11. =apravite rekurzivnu funkciju za računanje sume kvadrata od m do n.a# koristite uzaznu rekurziju

 b# koristite siaznu rekurziju

#include <iostream> 

using namespace std;

int f1(int m int n){

if  (m == n)

return m*n;

elsereturn (m*m + f1(m + 1 n));

}

int main(){

int a !;cout << "nesite !roe%e a i !" << endl;cin >> a >> !;

if  (a <= !){

cout << f1(a !) << endl;}else

cout << "r%i !ro mora !iti mani od drugog" << endl;

s&stem("pause>'");}

!) #include <iostream>using namespace std;int f1(int m int n){

if  (n == m)return m*n;

elsereturn (f1(m n - 1) + n*n); silana re$uria

}

Page 8: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 8/26

1?. =apišite rekurzivnu funkciju koja izračunava sumu neparni8 brojeva do zadanog !ugavnoj funkciji# prirodnog broja n. U gavnoj funkciji ispišite rezutat. $rogram riješite nadva načinaa# neka funkcija main provjerava da i je n neparan broj

 b# neka rekurzivna funkcija provjerava da i je n neparan broj

#include <iostream>using namespace std;

int f1(int n){

if  (n <= ')return ';

elsereturn n + f1(n - ,);

}%oid main(){

int n;cout << "nesite !ro " << endl;cin >> n;if  (n . , == ') a$o e n paran !ro

n--; !it /e neparancout << "f1(" << n << ") = " << f1(n) << endl; parametar n mora !iti neparan !ro

}

!)

#include <iostream>using namespace std;

int f1(int n){if  (n <= ')

return ';else{

if  (n . , == ')return f1(n - 1); a$o e n paran !ro

elsereturn n + f1(n - ,); a$o e n neparan !ro

}}%oid main(){

int n;cout << "nesite !ro " << endl;cin >> n;cout << "f1(" << n << ") = " << f1(n) << endl;

}

1D. <atrica DOD, funkcija za unos,ispis te sumu gavne i sporedne dijagonae

Page 9: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 9/26

#include <iostream>#include <iomanip>using namespace std;

00 unos ispis gla%na diagonala sporedna diagonala

const int % = 0;

%oid unos (int matrica 232%3int r int $){

if  (r == 0)return;

if  ($ < 0){

cin >> matrica2r32$3;unos(matrica r $ + 1);

}else

unos(matrica r + 1 ');}

%oid ispis (int matrica 232%3int rint $){

if  (r == 0)return;

if  ($ < 0){

cout << matrica2r32$3 << " ";ispis(matrica r $ + 1);

}else

{ cout << endl;ispis(matrica r + 1 ');

}

}

int suma4gla%ne4diagonale(int matrica 232%3int rint $){

if  (r < ')return ';

elsereturn matrica2r32$3 + suma4gla%ne4diagonale(matrica r - 1 $ - 1);

}

int suma4sporedne4diagonale(int matrica232%3int rint $){

if  (r < ')return ';

elsereturn matrica2r32$3 + suma4sporedne4diagonale(matrica r - 1 r + 1);

}

int main(){int matrica2%32%3;

Page 10: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 10/26

cout << "nesite elemente matrice5" << endl;unos(matrica ' ');cout << endl;cout << "6atrica igleda o%a$o" << endl << endl;ispis(matrica ' ');cout << endl;cout << "uma elemenata na gla%no diagonali inosi " << 

suma4gla%ne4diagonale(matrica % - 1 % - 1) << endl << endl;cout << "uma elemenata na sporedno diagonali inosi" << 

suma4sporedne4diagonale(matrica % - 1 ') << endl << endl;

s&stem("pause>'");return ';

}

1J. =apišite rekurzivnu funkciju koja izračunava sumu prirodni8 brojeva djejivi8 sa D dozadanog !u gavnoj funkciji# prirodnog broja n. U gavnoj funkciji ispišite rezutat.

$rogram riješite na dva načinaa# neka funkcija main provjerava da i je broj n djejiv sa D

 b# neka rekurzivna funkcija provjerava da i je broj n djejiv sa D

#include <iostream>using namespace std;

int f1(int n){

if  (n <= ,)return '; !ani sluca

else return n + f1(n - 0);}%oid main(){

int n;cout << "nesite !ro ";cin >> n;78ile (n . 0 5= ') a$o !ro n nie deli% sa 0

n--; onda ga umanu do$ ne !ude deli% sa 0cout << f1(n) << endl; poi% fun$cie a !ro n $oi mora !iti deli% sa 0

}

!)#include <iostream>using namespace std;int f1(int n){

if  (n <= ,)return '; !ani sluca

else{

if  (n . 0 == ')return n + f1(n - 1);

elsereturn f1(n - 1);

}

}%oid main(){

Page 11: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 11/26

Page 12: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 12/26

{cout << n2%3 << ":t";

}else{

cout << n2%3 << ":t";ispis(n % - 1);

}}

int suma(int n23 int %){

if  (% == '){

return n2%3;}else{

return n2%3 + suma(n % - 1);}

}

int main(){

const int %elicina = ;

int ni2%elicina3;cout << "nesite ni od !roe%a" << endl;unos(ni %elicina - 1);cout << endl;cout << "uma nia inosi " << suma(ni %elicina - 1);cout << endl;

cout << "nieli ste sledeci ni" << endl;ispis(ni %elicina - 1);s&stem("pause>'");

}

1H. =apišite program koji će omogućiti kreiranje matrice "O". Uz pomoć rekurzivni8 funkcijaunijeti eemente u niz, ispisati eemente niza, pronaći najveću vrijednost u svakom od redaka,svakoj od koona, te sumu eemenata na gavnoj i sporednoj dijagonai.

#include<iostream>#include<iomanip>

using namespace std;%oid unos(int2323 int int);%oid ispis(int2323 int int);int mared(int2323 int int int);int ma$olona(int2323 int int int);int sumagla%nediagonale(int2323 int);int sumasporednediagonale(int2323 int int);

int main(){

const int %elicina = ;int ni2%elicina32%elicina3 ma;cout << "nesite elemente $%adratne matrice " << %elicina << " " << %elicina << 

endl; unos(ni ' ');cout << endl;

Page 13: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 13/26

cout << "u matricu su unesene %riednosti" << endl;ispis(ni ' ');cout << endl;for (int i = '; i<%elicina; i++){

ma = ni2i32'3;cout << "na%eca %riednost u ret$u " << i + 1 << " inosi " << set7(0) << 

mared(ni %elicina - 1 i ma) << endl;}cout << endl;for (int i = '; i<%elicina; i++){

ma = ni2'32i3;cout << "na%eca %riednost u $oloni " << i + 1 << " inosi " << set7(0) << 

ma$olona(ni %elicina - 1 i ma) << endl;}cout << endl;cout << "uma elemenata na gla%no diagonali inosi " << sumagla%nediagonale(ni

%elicina - 1) << endl << endl;cout << "uma elemenata na sporedno diagonali inosi " << 

sumasporednediagonale(ni ' );s&stem("pause>'");return ';

}%oid unos(int n2323 int r int $){

if  (r >= )return;

if  ($<){

cout << "nesite element 2" << r << "3 2" << $ << "3";cin >> n2r32$3;unos(n r $ + 1);

}elseunos(n r + 1 ');

}%oid ispis(int n2323 int r int $){

if  (r >= )return;

if  ($<){

cout << set7(0) << n2r32$3;ispis(n r $ + 1);

}

else{

cout << endl;ispis(n r + 1 ');

}}int mared(int n2323 int $ int trenutni int ma){

if  ($<')return ma;

elseif  (n2trenutni32$3>ma){

ma = n2trenutni32$3;return mared(n $ - 1 trenutni ma);}

Page 14: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 14/26

elsereturn mared(n $ - 1 trenutni ma);

}

int ma$olona(int n2323 int r int trenutna int ma){

if  (r<')return ma;

if  (n2r32trenutna3>ma){

ma = n2r32trenutna3;return ma$olona(n r - 1 trenutna ma);

}else

return ma$olona(n r - 1 trenutna ma);}int sumagla%nediagonale(int n2323 int r){

if  (r == ')return n2r32r3;

elsereturn n2r32r3 + sumagla%nediagonale(n r - 1);

}int sumasporednediagonale(int n2323 int r int $){

if  ((r == ) ($ == '))return n2r32$3;

if  (r + $ == )return n2r32$3 + sumasporednediagonale(n r + 1 $ - 1);

elsereturn sumasporednediagonale(n r + 1 $ - 1);

}

1S. Upoznavanje sa WstructX

#include <iostream>using namespace std;

struct ?grac@ima {c8ar ime20'3;c8ar preime20'3;Aoat %isina;Aoat teina;Aoat plata;int !roogodata$a;int !roBsistencia;

};

%oid main(){

?grac@ima ?grac1;strcp&4s (?grac1Cime "Defet");strcp&4s(?grac1Cpreime "Eoa$");?grac1C%isina = 1CFG;?grac1Cteina = FF;?grac1Cplata = F';?grac1C!roogodata$a = ';?grac1C!roBsistencia = 0G;

?grac@ima ?grac, = { "Bnel""er%an"1CFGFFF''0G };

Page 15: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 15/26

cout << "?grac " << ?grac1Cime << " ima platu " << ?grac1Cplata << " a igrac " << ?grac,Cime << " ima platu" << ?grac,Cplata << endl;

s&stem("pause>'");}

1FC 9asta%a$ upona%ana sa HstructI

#include <iostream> using namespace std;c8ar crt23 = ":n-------------------------------------------------:n";struct igrac@ima {

c8ar imereime2'3;int !roogoda$a;dou!le ciena;

};fun$cia igrac?nfo prima d%a o!e$ta tipa igrac@ima%oid igrac?nfo(igrac@ima ?grac1 igrac@ima ?grac,) {

dou!le sumaJiene = ?grac1Cciena + ?grac,Cciena;dou!le prose$Jiene = sumaJiene ,;int sumaogoda$a = ?grac1C!roogoda$a + ?grac,C!roogoda$a;

Aoat prose$ogoda$a = (Aoat)sumaogoda$a ,;cout << ":t:t@DB9KLD ?EDBJB" << crt;cout << "?me i preime:t:t" << "Eolo%i:t:t" << "Jiena" << crt;cout << ?grac1Cimereime;cout << ":t:t" << ?grac1C!roogoda$a << ":t:t" << ?grac1Cciena << endl;cout << ?grac,Cimereime;cout << ":t:t" << ?grac,C!roogoda$a << ":t:t" << ?grac,Cciena << crt;cout << "6B " << ":t:t:t" << sumaogoda$a << ":t:t" << sumaJiene << crt;cout << "DMNLO " << ":t:t" << prose$ogoda$a << ":t:t" << prose$Jiene << crt;

}%oid main(){

$reiramo d%a o!e$ta-instance tipa igrac@ima

igrac@ima ?grac1 = { "Kuad Pan$o%ic"0'1,'''' };igrac@ima ?grac, = { "Defet Eoa$",1,''' };poi%amo fun$ciu i predaemo $reirane o!e$teigrac?nfo(?grac1 ?grac,);s&stem("pause");

?0.=astavak WstructX Y struktura moze biti dio druge strukture

#include <iostream> 

using namespace std;c8ar crt23 = ":n--------------------------------------------------------------------:n";struct Patum {

int dan;int mesec;int godina;

};struct igrac@ima {

c8ar imereime2'3;int !roogoda$a;dou!le ciena;o!e$at tipa Patum; o!ileadanmesecgodinaPatum datum@ransfera;

};%oid main(){

Page 16: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 16/26

$reiramo o!e$at-instancu tipa igrac@imaigrac@ima ?grac1;inicialiuemo o!illeQa o!e$tastrcp&4s(?grac1Cimereime "Defet Eoa$");?grac1C!roogoda$a = 0';?grac1Cciena = 1,'''';primetite nacin na $oi inicialiuemo o!ileQao!e$ta datum@ransfera $oi e tipa Patum?grac1Cdatum@ransferaCdan = 1,;?grac1Cdatum@ransferaCmesec = 1';?grac1Cdatum@ransferaCgodina = ,'1,;cout << ":t:t@DB9KLD ?EDBJB" << crt;cout << "?me i preime:t:tEolo%i:t:tJiena:t:t@ransfer" << crt;cout << ?grac1Cimereime;cout << ":t:t" << ?grac1C!roogoda$a << ":t:t" << ?grac1Cciena << ":t:t";cout <<  ?grac1Cdatum@ransferaCdan << "C" << ?grac1Cdatum@ransferaCmesec;cout << "C" << ?grac1Cdatum@ransferaCgodina << crt;

s&stem("pause");}

?1.Kreirajte strukturu kompeksni broj. Kreirajte zasebne funkcije za racunanje operacije nadkompeksnim brojevima Y zbrajanje,oduzimanje itd. $rogram treba omoguciti unos dvakompeksna broja i primjenu navedeni8 funkcija kao i ispis vrijednoti.

#include <iostream> using namespace std;

struct $omple$sni{

Aoat realni;

Aoat imaginarni;

};

%oid unos($omple$sni o){

cout << "nesite realni dio !roa" << endl;cin >> oCrealni;cout << "nesite imaginarni dio !roa" << endl;cin >> oCimaginarni;

}

%oid ispis($omple$sni o){

cout << "Dealni dio !roa" << endl;cout << oCrealni << endl;

cout << "?maginarni dio !roa" << endl;cout << oCimaginarni <<"i"<< endl;

}

$omple$sni !raane ($omple$sni o1 $omple$sni o,){

$omple$sni o0;o0Crealni = o1Crealni + o,Crealni;

o0Cimaginarni = o1Cimaginarni + o,Cimaginarni;return o0;

Page 17: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 17/26

};

$omple$sni oduimane($omple$sni o1 $omple$sni o,){

$omple$sni o0;o0Crealni = o1Crealni - o,Crealni;o0Cimaginarni = o1Cimaginarni - o,Cimaginarni;

return o0;}

int main(){

$omple$sni o!e$t1 o!e$t,;

cout << "r%i !ro" << endl;

unos(o!e$t1);

cout << "Prugi !ro" << endl;unos(o!e$t,);

ispis(o!e$t1);ispis(o!e$t,);

!raane(o!e$t1 o!e$t,);cout << "R!raane" << endl;ispis(!raane(o!e$t1 o!e$t,));cout << endl;

cout << "Mduimane" << endl;ispis(oduimane(o!e$t1 o!e$t,));

s&stem("pause>'");}

??. $AK7457Z5 UAR

#include <iostream>using namespace std;

%oid main() {

int  = ;int & = S;int * p = 9TT;p = ; po$ai%ac p sada po$aue na %aria!lu cout << " = " <<  << " = " <<  << endl;cout << "& = " << & << " & = " << & << endl;cout << "p = " << p << " p = " << p << " *p = " << *p << endl;

s&stem("pause>'");}

?D. $AK7457Z5 UAR =7B-77K#include <iostream>

Page 18: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 18/26

using namespace std;%oid main() {

int *p = 9TT; de$laracia po$ai%aUa p na intint  = 0; de$laracia %aria!le tipa intint & = ; de$laracia%aria!le& tipa intp = ; p po$aue na = + *p; ud%ostruUue p = &; sada p po$aue na &*p = ,; & e dodelena %riednost , ( e nedirnut)C

 MVDB@?@L BW9N 9B 9BDLP9 L@TNp = ;78ile (*p == ) {

*p = *p + 1;}OMT?OM @B L ?RXDYBXB ? RBY@MZ

s&stem("pause>=");}

?J. $okazivači nastavak 

#include <iostream>using namespace std;

%oid fun$cia(int* p) {cout << "p = " << p << endl;cout << "*p = " << *p << endl;*p = ;cout << "p = " << p << endl;

}

%oid main(){int  = ;cout << " = " <<  << endl;cout << " = " <<  << endl;cout << "-----------------" << endl;fun$cia();cout << "-----------------" << endl;cout << " = " <<  << endl;s&stem("pause>'");

}

?". $okazivači nastavak 

#include<iostream>using namespace std;%oid amieni(int* int* &) {

int temp = *;* = *&;*& = temp;

}%oid main() {

int a !;

Page 19: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 19/26

cout << "nesite d%a !roa ";cin >> a >> !;cout << "a = " << a << " ! = " << ! << endl;amieni(a !);cout << "9a$on amene->" << endl;cout << "a = " << a << " ! = " << ! << endl;

s&stem("pause>'");}

?I. void $AK7457Z

#include <iostream>using namespace std;

%oid po%eca(%oid* podata$ int %elicina) {s7itc8 (%elicina) {

case sieof (c8ar) (*((c8ar*)podata$))++; !rea$;

case sieof (int) (*((int*)podata$))++; !rea$;}}%oid main() {

c8ar slo%o = [a[;int !ro = ,';cout << "!ro = " << !ro << " slo%o = " << slo%o << endl;po%eca(slo%o sieof (slo%o));po%eca(!ro sieof (!ro));cout << "!ro = " << !ro << " slo%o = " << slo%o << endl;s&stem("pause>'");

}

?H. $AK7457Z5

#include<iostream>using namespace std;

%oid main() {int !roe%i21'3;int* p = !roe%i2'3;int* pr%i4adresa = p;int* adni4adresa;int i = ';78ile (p 5= !roe%i21'3) {

*p = , + i;p++;i++;

}adni4adresa = p - 1;cout << *adni4adresa << endl;

s&stem("pause>'");}

?S. $okazivači na niz

#include<iostream>

Page 20: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 20/26

using namespace std;%oid main() {

dou!le ni23 = { C, C0 G FC 0CF };dou!le* p1 = ni;for (int i = '; i<; i++) {

realio%ati for petlu !e !roaca icout << *p1 << " ";p1++;

}ispisue %riednost drugog elelmenta u%ecanu a 0cout << endl << (ni213 + 0) << endl;dou!le* p, = ni;cout << *(p, + 0) << endl; cet%rtielementniacout << p,203 << endl; cet%rtielementniacout << ni203 << endl; cet%rtielementnia

s&stem("pause>'");}

,FC MOBR?XB\?

Napišite program u kojem ćete:a! "eklarirati dvije varijable tipa float #broj1 i broj$!.

b! %nicijalizirati varijablu broj1 vrijedno&ću '.(.

c! "eklarirati pokaziva na tip podatka float.

d! %nicijalizirati pokaziva na adresu varijable broj1.

e! %spisati vrijednost varijable na koju upućuje pokaziva koristeći dereferenciranjepokazivaa.

f! %nicijalizirati vrijednost varijable broj$ na istu vrijednost na koju upućuje pokaziva, te ju ispisati.

g! %spisati adresu varijable broj1.

#include <iostream> using namespace std;

int main(){

Aoat !ro1 !ro,;!ro1 = C0;inicialiacia %riednosti %arai!le !ro1Aoat *po$ai%ac; de$laracia po$ai%acapo$ai%ac = !ro1; inicialiacia po$ai%aca adresom %aria!le !ro1cout << "%riednost %aria!le !ro1 inosi " << *po$ai%ac << endl;!ro, = *po$ai%ac; %aria!li !ro, smo dodielili %riednost $oristeci dereferencirane

po$ai%aca

cout << "%riednost %aria!le !ro, inosi " << !ro, << endl;cout << "Bdresa %aria!le !ro1 e " << po$ai%ac << endl;adresu %aria!le !ro1ispisuemo pomocu po$ai%aca

cout << "Bdresa %aria!le !ro1 e " << !ro1 << endl; adresu %aria!le !ro1ispisuemo upotre!om operatora

s&stem("pause>'");}

0'C Napišite program u kojem ćete:

a# dekarirati niz tipa doube koji ima 10 eemenata

doube niz M10N9+0.0, 1.1, ?.?, D.D., J.J, ".", I.I, H.H, S.S, G.G

Page 21: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 21/26

 b# provjeriti koiko prostora u memoriji zauzima tip podatka doube i koiko prostora umemoriji zauzima cijei niz

!upotrijebite operator sizeof #c# dekarirati pokazivač koji pokazuje na objekt tipa doube

d# inicijaizirate pokazivač na adresu prvog eementa niza

(pokušajte ovu inicijalizaciju napraviti na dva načina)

e# ispišite J eement niza na barem D razičita načina

(koristite indeksaciju elemenata niza, dereferenciranje pokazivača i operacije nad

 pokazivačem)

f# ispišite adrese svi8 eemenata niza koristeći operator inkrementa na pokazivač

(vodite računa da ukoliko dekrementirate pokazivač – rezultat je adresa pomaknuta za

onoliko bajta koliko zauzima tip podatka na koji upućuje pokazivač)

g# ispišite eemente niza koristeći dereferenciranje pokazivača.

#include <iostream> using namespace std;

int main(){

dou!le ni21'3 = { 'C' 1C1,C,0C0CCSCSCGCGFCF };cout << "Pou!le u memorii auima " << sieof (dou!le) << endl;cout << "Jiel ni auima " << sieof (ni) << endl;

dou!le *po$ai%ac;

po$ai%ac = ni2'3;

cout << "Llementi nia su " << endl;for (int i = '; i < 1'; i++){

cout << *(po$ai%ac + i) << endl;}

cout << "?spis C elementa nia" << endl;cout << ni203 << endl;cout << *(ni + 0) << endl;cout << po$ai%ac203 << endl;cout << *(po$ai%ac + 0) << endl;

cout << "Bdrese s%i8 elemenata nia" << endl;for (int i = '; i < 1'; i++){

cout << po$ai%ac << endl;po$ai%ac++;

}s&stem("pause>'");

}

D1. =apišite program koji će vrijednost unesenog cijeog broja mijenjati u trostruko veću Y kub

unesenog broja. =eka funkcija za računanje kuba ima jedan argument i neka njeno zagavjeizgeda ovako

Page 22: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 22/26

void cube ! int V #(

#include <iostream> using namespace std;

%oid cu!e(int * p)

{ *p = *p * *p * *p;}

int main(){

int !ro;

cout << "nesite ne$i !ro" << endl;cin >> !ro;

cu!e(!ro);

cout << "9o%a %riednost !roa e " << !ro << endl;s&stem("pause>'");

}

D?. =apišite program u kojem ćete dekarirari niz od " cijeobrojni8 eemenata te uz pomoćfunkcije void unos !int V, int#( omogućiti unos eemenata niza

 funkcije void ispis !int V, int#( omogućiti ispis eemenata niza

 funkcije int V najveci !int V, int#( vratiti adresu najvećeg eementa u nizu( obavezno

 provjerite je i funkcija vratia korektnu adresu.

#include <iostream> using namespace std;

%oid unos(int *ni  int %elicina){

for (int i = '; i < %elicina; i++){

cin >> ni2i3;}

}

%oid ispis(int *niint %elicina)

{ for (int i = '; i < %elicina; i++){

cout << ni2i3 << endl;}

}

int *na%eci(int *ni int %elicina){

int *lo$alni = ';int ma = ni2'3;

for (int i = '; i < %elicina; i++){

if  (*(ni + i) > ma)lo$alni = ni + i;

Page 23: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 23/26

Page 24: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 24/26

Page 25: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 25/26

7 zatim, ispišite karakteristike kružnica !obiježja objekata k1, [,kJ# koristeći pune rečenice,kao u sjedećem primjeru/ Kružnica iz drugog kvadranta sa centrom A!D,J# ima isti pouprečnik kao kružnica A!/J,I#iz prvog kvadranta koji iznosi r 9 ?.

/ Kružnica A!/G,/?0# iz trećeg kvadranta ima dupo veći/ pouprečnik !r 9 J# od kružnice A!/J,I#.

/ Kružnica A!11,/?D# ima pouprečnik !r 9 I# koji predstavja zbir pouprečnika kružnica A!/G,/?0# i A!11,/?D#

#include <iostream>using namespace std;

struct $runica {Aoat ;

Aoat &;Aoat poluprecni$;

};

%oid main(){

$runica $1 $, $0 $;

$1C = 0;$1C& = ;cout << "nesi poluprecni$ " << endl;cin >> $1Cpoluprecni$;

$,C = -;$,C& = S;$,Cpoluprecni$ = $1Cpoluprecni$;

$0C = -F;$0C& = -,';$0Cpoluprecni$ = $1Cpoluprecni$ * ,;

$C = 11;$C& = -,0;$Cpoluprecni$ = $1Cpoluprecni$ + $,Cpoluprecni$;

cout << "OruQnica i drugog $%adranta sa centrom M(";cout << $1C << "" << $1C& << ") ima isti polupreUni$ $ao :n$ruQnica M(";cout << $,C << "" << $,C& << ") i pr%og $%adranta $oi inosi r = ";cout << $1Cpoluprecni$ ;

s&stem("pause>'");}

DI.

Page 26: pr2 pitanja

8/15/2019 pr2 pitanja

http://slidepdf.com/reader/full/pr2-pitanja 26/26

1:

2:

3:

4:

5:

6:

7:

8:9:

10:

11:

void main()

{

int a;

cout << "Unesite

!o: ";

cin ## a;

int$ %1;

%1 & 'a;cout << $%1;

7naiza programa/ učitana je vrijednost sa tastature u varijabu a

/ dekarisan je pokazivač p1 koji pokazuje na varijabu a

/ ispisana je vrijednost dereferenciranog pokazivača p

aš zadatak je da prepravite program tako da se dereferenciranje pokazivača p1 i ispis takodobivene vrijednosti vrši u novoj funkciji void f1. 4nači, u funkciji main treba postojati samovarijaba a, a u funkciji f1 treba postojati samo varijaba !pokazivač# p1, koja prima adresuvarijabe a iz funkcije main.

 "omoć:

/ formani parametar je p1 tipa intV/ aktueni parametar adresa varijabe a