3. vje~zbe iz C-a -- 2. zadatak

✓XHTML1

Zadatak je napraviti su~celje za rad s rije~cima. Program treba ~citati datoteku naredbe.in, u ~cijem se svakom retku nalazi neka naredba (obja~snjenje naredbi slijedi), izvr~savati ih i zapisivati izvještaje o tome u datoteku izvjestaj.log.

Naredbe mogu biti:

RIJEC i JE r
Postavlja i-tu rije~c na r. Mo~zete pretpostaviti da je i izme~du 1 i 9, te da je r niz slova duljine 1 do 50. To ne zna~ci da ~te u svakom trenu rije~ci biti ograni~cene duljine (vidi sljede~tu naredbu) -- potrebno je pobrinuti se za to. U izvještaj treba napisati i. riječ postavljena na "r".
DODAJ i NA j
Dodaje i-tu rije~c na kraj j-te rije~ci. Mo~zete pretpostaviti da je j različit od i. i-ta rije~c ostaje nepromijenjena. U izvještaj treba napisati Dodano "ri" na "rj".
PISI i
U izvještaj zapisuje Rijec i je "ri".
JE LI i U j
Ispituje nalazi li se i-ta rije~c unutar j-te rije~ci (kao podstring), i ovisno o tome ispisuje u izvještaj "ri" se nalazi u "rj". ili "ri" se ne nalazi u "rj".

U po~cetku sve rije~ci trebaju biti prazne, tako da npr. DODAJ 1 NA 5 kopira rije~c 1 u rije~c 5, ako rije~c 5 jo~s nije upotrijebljena. Prazna rije~c se smatra podstringom bilo koje rije~ci, pa i prazne.

Primjer:

naredbe.inizvjestaj.log
RIJEC 1 JE Hello
RIJEC 2 JE Wolr
RIJEC 2 JE World
PISI 2
DODAJ 1 NA 3
DODAJ 2 NA 4
DODAJ 4 NA 3
PISI 4
PISI 3
JE LI 1 U 2
RIJEC 9 JE Razmak
RIJEC 8 JE Usklicnik
RIJEC 5 JE Worlds
JE LI 2 U 5
JE LI 8 U 8
DODAJ 1 NA 7
DODAJ 9 NA 7
DODAJ 2 NA 7
DODAJ 8 NA 7
PISI 7
JE LI 9 U 7
1. rijec postavljena na "Hello".
2. rijec postavljena na "Wolr".
2. rijec postavljena na "World".
Rijec 2 je "World".
Dodano "Hello" na "".
Dodano "World" na "".
Dodano "World" na "Hello".
Rijec 4 je "World".
Rijec 3 je "HelloWorld".
"Hello" se ne nalazi u "World".
9. rijec postavljena na "Razmak".
8. rijec postavljena na "Usklicnik".
5. rijec postavljena na "Worlds".
"World" se nalazi u "Worlds".
"Usklicnik" se nalazi u "Usklicnik".
Dodano "Hello" na "".
Dodano "Razmak" na "Hello".
Dodano "World" na "HelloRazmak".
Dodano "Usklicnik" na "HelloRazmakWorld".
Rijec 7 je "HelloRazmakWorldUsklicnik".
"Razmak" se nalazi u "HelloRazmakWorldUsklicnik".