Professional Documents
Culture Documents
Domaca Zadaca 3
Domaca Zadaca 3
Domaca Zadaca 3
tako da se oslobađanje memorije koju je zauzela pomoćna matrica koja predstavlja zbir matrica
može obaviti bez korištenja pomoćne promjenljive (kao u programu “matrica_struct.cpp”).
Definirajte da parametar “treba_brisati” ima podrazumijevanu vrijednost “false”, tako da
ga ne treba navoditi ukoliko nam brisanje ne treba. Napisane funkcije testirajte u glavnom
programu na primjeru matrica čije dimenzije i elemente unosi korisnik putem tastature. U
glavnom programu predvidite hvatanje svih izuzetaka koji bi eventualno mogli nastupiti.
Također, dobro pazite da nigdje ne dođe do curenja memorije (ni pod kakvim okolnostima).
2. Definirajte strukturu “Cvor” koja sadrži polje “element” tipa “string” i polje “veza” koje je
tipa pokazivač na “Cvor”. Iskoristite ovu strukturu u programu koji čita slijed rečenica sa
tastature sve dok se ne unese prazna rečenica (tj. dok se ne pritisne samo ENTER bez ikakvog
prethodnog unosa), i koji uvezuje te rečenice u povezanu listu čvorova, ali koji nakon unosa
svake od rečenica umeće čvor na takvo mjesto da lista u svakom trenutku bude sortirana po
abecedi (odnosno po poretku ASCII kodova) kada se posmatra u redoslijedu kako idu veze
između čvorova. Na kraju, program treba da ispiše sve rečenice u listi, da se uvjerimo da je lista
zaista sortirana.
Definirajte klasu “Robot” koja predstavlja zamišljenog robota koji može da se kreće kroz
koordinatni sistem sa cjelobrojnim koordinatama i koji može da gleda u jednom od četiri pravca
definirana u pobrojanom tipu “Pravci”. Klasa treba da ima sljedeći interfejs:
1
int Pozicija_x() const;
int Pozicija_y() const;
Pravci Orjentacija() const;
void Ispisi() const;
Metoda “Postavi” treba da postavi robot na zadanu poziciju, i da ga usmjeri u zadani pravac.
Metoda “PomjeriSe” pomjera robota zadani broj koraka u pravcu u kojem robot trenutno
gleda. Metode “Nalijevo” i “Nadesno” obrću robota za 90o na lijevo odnosno na desno.
Metode “Pozicija_x”, “Pozicija_y” i “Orjentacija” treba da vrate tekuću poziciju
odnosno orjentaciju robota. Metoda “Ispisi” treba da ispiše podatke o poziciji i orjentaciji
robota na način kao u sljedećem primjeru:
Napisanu klasu upotrijebite u programu u kojem će korisnik moći da bira neku od dozvoljenih
operacija sa robotom, a nakon svake izvršene operacije program treba da prikaže tekuću poziciju
i orjentaciju (kratke metode dozvoljeno je implementirati odmah unutar deklaracije klase).
Napomena:
Moguća rješenja zadataka za zadaću biće publikovana naknadno, nakon isteka roka za predaju zadaće.