pr2 pitanja
TRANSCRIPT
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@.@#+
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(
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
8/15/2019 pr2 pitanja
http://slidepdf.com/reader/full/pr2-pitanja 4/26
8/15/2019 pr2 pitanja
http://slidepdf.com/reader/full/pr2-pitanja 5/26
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>'");}
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
}
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
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;
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(){
8/15/2019 pr2 pitanja
http://slidepdf.com/reader/full/pr2-pitanja 11/26
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;
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);}
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 };
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(){
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;
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>
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 !;
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>
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
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
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;
8/15/2019 pr2 pitanja
http://slidepdf.com/reader/full/pr2-pitanja 23/26
8/15/2019 pr2 pitanja
http://slidepdf.com/reader/full/pr2-pitanja 24/26
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.
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