Trka s vremenom

poruka: 1
|
čitano: 1.587
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Trka s vremenom

Molim sve dobre ljude da mi pomognu sad ili nikad :P salu na stranu, sutra do podne mi je zadnji rok da uradim ova 4 zadatka, i ja sam u nekoj haj'mo reci trci s vremenom zato sto mislim da necu sve stici jer imam nekih drugih obaveza...1 zadatak sam radio mozda 2.5 sata, ali sam ga uradio...ako ima neko ko je pro u c++ stvarno bih mu bio zahvalan da mi pomogne  i to posalje na pm....

ja ideje za ova 3 zadatka imam, ali nemam vremena da ih pocnem raditi...

 

evo link sa zadacima u pdf-u a i ovdje sam ih stavio... http://www.mediafire.com/?6ba2742wqm9w2ub

 

1.sam uradio

2. Neki element matrice naziva se njen lokalni ekstrem ukoliko je on striktno veći ili striktno 

manji od svih ostalih elemenata koji se nalaze u istom redu ili u istoj koloni kao i taj element. 

Može se desiti da matrica uopće nema lokalnih ekstrema, a može se desiti da ih ima više od 

jednog. Na primjer, sljedeća matrica ima pet lokalnih ekstrema (to su elementi na pozicijama 

(1,3), (1,5), (2,2), (2,4) i (4,1)): 

2 5 3 7 9

13 6 11 134

9 12 6 3 5

10 7 2 145

Napišite funkciju koja kao parametar prima matricu organiziranu kao vektor vektôrā, a koja 

kao rezultat vraća koliko lokalnih ekstrema posjeduje ta matrica (odnosno 0 ukoliko matrica 

ne posjeduje niti jedan lokalni ekstrem). Ukoliko preneseni parametar nema strukturu matrice 

(tj. ukoliko svi redovi proslijeđenog vektora vektôrā nemaju isti broj elemenata), funkcija 

treba baciti izuzetak. Napisanu funkciju testirajte u glavnom programu na primjeru matrice 

čije se dimenzije i elementi unose sa tastature. Napomena: u ovom konkretnom programu, 

izuzetak nikada neće biti bačen, s obzirom da  će se funkciji iz glavnog programa uvijek 

prenositi ispravni parametri (tj. parametri koji zaista imaju strukturu matrice). Međutim, s 

obzirom da dobro napisana funkcija ne treba ništa da zna o tome u kakvom će okruženju biti 

korištena, funkcija mora da se zna “odbraniti” u slučaju da u nju ipak “uđu” neispravni podaci. 

 

3. Napišite funkciju koja kao parametar prima jedan string (tj. parametar tipa “string”) koji 

predstavlja neku rečenicu, a koja vraća kao rezultat novi string koji predstavlja istu tu

rečenicu, ali iz koje su uklonjeni eventualni suvišni  razmaci. Pod suvišnim razmacima 

smatramo sve razmake koji se nalaze ispred prvog znaka koji nije razmak (tj. razmake na 

početku stringa), zatim sve razmake iza posljednjeg znaka koji nije razmak (tj. razmake na 

kraju stringa), kao i sve višestruke razmake između riječi (tj. riječi u rezultirajućem stringu 

treba da budu razdvojene samo jednim razmakom). Na  primjer, ukoliko se funkciji kao 

parametar proslijedi string “  Ovo   je  primjer.    ”, funkcija kao rezultat treba da vrati 

string “Ovo je primjer.”. Napisanu funkciju testirajte u glavnom programu na stringovima koji 

se unose sa tastature. 4. Položaj nekog mehaničkog manipulatora za prenošenje tereta opisujee se pomoću dvije 

cjelobrojne promjenljive “x”, “y”, pri  čemu “x” odgovara trenutnoj poziciji manipulatora u 

pravcu lijevo-desno, dok “y” odgovara trenutnoj poziciji manipulatora u pravcu dolje-gore (u 

oba slučaja, 0 odgovara referentnoj poziciji). Obje vrijednosti mogu biti kako pozitivne, tako i 

negativne. Pored toga, manipulator u svakom trenutku može biti usmjeren u jednom od četiri 

smjera (nalijevo, nagore, nadesno i nadolje). Informacija o tome se  čuva u promjenljivoj 

nazvanoj “orjentacija”. Ova promjenljiva je tipa “Smjerovi”, koji predstavlja pobrojani 

tip definiran kao 

enum Smjerovi {Nalijevo, Nagore, Nadesno, Nadolje}; 

Potrebno je napraviti program koji korisniku nudi sljedeće komande za upravljanje 

manipulatorom: I – Idi; R – Rotiraj; K – Kraj. Komanda I obavezno je praćena jednim 

nenegativnim cijelim brojem (npr. I 20) i ona pomjera manipulator za navedeni broj koraka u 

smjeru u kojem je manipulator trenutno usmjeren. Komanda R rotira manipulator u smjeru 

kazaljke na satu za 90

o

 Komanda K završava program. Sve druge komande su  ilegalne, i .

trebaju dovesti do prijave greške i ponovnog izbora komande. Na početku rada, manipulator se 

nalazi na poziciji (0,0) i usmjeren je nagore. Dijalog između programa i korisnika mogao bi 

izgledati poput sljedećeg: 

Manipulator se nalazi na poziciji (0,0) i usmjeren je nagore. 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): R 

Manipulator se nalazi na poziciji (0,0) i usmjeren je nadesno. 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): I 

Pogrešna komanda (nedostaje parametar)!

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): I5 

Manipulator se nalazi na poziciji (5,0) i usmjeren je nadesno. 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): R 

Manipulator se nalazi na poziciji (5,0) i usmjeren je nadolje. 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): I4 

Manipulator se nalazi na poziciji (5,-4) i usmjeren je nadolje. 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): R 

Manipulator se nalazi na poziciji (5,-4) i usmjeren je nalijevo. 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): S 

Pogrešna komanda! 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): IXY2 

Pogrešna komanda (neispravan parametar)! 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): I2XY 

Pogrešna komanda (neispravan parametar)! 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): I0 

Manipulator se nalazi na poziciji (5,-4) i usmjeren je nalijevo. 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): I-1 

Pogrešna komanda (neispravan parametar)! 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): I2 

Manipulator se nalazi na poziciji (3,-4) i usmjeren je nalijevo. 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): R2 

Pogrešna komanda (suvišan parametar)! 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): R 

Manipulator se nalazi na poziciji (3,-4) i usmjeren je nagore. 

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): KK 

Pogrešna komanda (suvišan parametar)!

Unesi komandu (I – Idi, R – Rotiraj, K – Kraj): K 

Dovidjenja!

 Poruke o greškama ne moraju biti iste kao što je ovdje prikazano, ali budite sigurni da ste 

predvidjeli ispravne reakcije na bilo šta što bi eventualno mogao unijeti korisnik (program ne 

smije da “crkne” ma šta korisnik unio). Napomena: funkcija “peek” će Vam vjerovatno biti 

od velike koristi.

 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice