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.