You are on page 1of 2

Pismeni ispit iz OOP 05.07.2002.

Zadatak 1. Napiite koji ispis generira sljedei program


int FunctionByValue(int i) { return ++i; }
int FunctionByRef(int &ir) { return ++ir; }
int FunctionByAddr(int *ia) { return ++(*ia); }
void main() {
int i = 0;
FunctionByRef(i);
FunctionByValue(i);
FunctionByAddr(&i);
}

cout
cout
cout
cout

<<
<<
<<
<<

i
i
i
i

<<
<<
<<
<<

endl;
endl;
endl;
endl;

Zadatak 2. Napiite funkciju iji prototip glasi:


void ReverseVector(vector<int> &v)
// pre: vektor v sadri N cijelih brojeva
// post: elementi od v su u reverznom redoslijedu

i koja ulaznom vektoru v mijenja redoslijed elemenata tako da oni budu u reverznom redoslijedu u
odnosu na poetni redoslijed. Primjerice,
Prije poziva ReverseVector(a)
+----+----+----+----+----+
| 61 | 34 | 18 | 99 | 73 |
+----+----+----+----+----+

Poslije poziva ReverseVector(a)


+----+----+----+----+----+
| 73 | 99 | 18 | 34 | 61 |
+----+----+----+----+----+

Zadatak 3. Deklarirana je klasa Point, kojoj privatni lanovi int m_x, m_y opisuju poziciju toke u
ravnini.
class Point {
int m_x, m_y;
public:
Point():m_x(0), m_y(0) {}
Point(int x, int y):m_x(x), m_y(y) {}
int X() {return m_x;};
int Y() {return m_y;};
};

Klasi Trokut privatni su lanovi tri objekta klase Point : m_p1, m_p2 i m_p3, koji odreuju
koordinate trokuta.
class Trokut {
Point m_p1,m_p2,m_p3;
public:
// definiraj funkcije
Trokut(Point p1, Point p2, Point p3);
double Opseg();
};

Definirajte konstruktor Trokut() i metodu Opseg() kojom se rauna opseg trokuta, tako da se moe
realizirati program:
1

int main()
{
Trokut tr(Point(7,1),Point(1,1), Point (4,3));
cout <<"Opseg =" << tr.Opseg() <<endl;
return 0;
}

koji nakon izvrenja daje ispis: Opseg =13.2111


Zadatak 4. Napiite program u kojem :
1. korisnik unosi proizvoljan broj realnih brojeva . Te brojeve treba spremiti u kontenjer tipa
list<double> .
2. Nakon zavrenog unosa treba oformiti dinamiki niz A, u kojeg treba upisati sve brojeve iz liste.
3. Konano treba sortirati taj niz, ispisati njegov sadraj i dealocirati niz A.

Zadatak 5. Napiite program kojim se sadraj jedne tekstualne datoteke kopira u drugu datoteku, ali tako
da se iza svake linije u zagradama zapie koliko ima znakova u liniji. Ime izvorne i odredine datoteke
zadaje korisnik u komandnoj liniji.
Primjerice ako je u izvornoj datoteci linija sadraja
hello world!
tada u odredinoj datoteci mora biti linija:
hello world! (12)

You might also like