Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
Zvone Forumaš(ica)

Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
|
[Vrh] |
|
nana Forumaš(ica)


Pridružen/a: 29. 11. 2005. (12:24:35) Postovi: (2AD)16
Spol: 
|
|
[Vrh] |
|
Zvone Forumaš(ica)

Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
Postano: 23:26 sri, 15. 11. 2006 Naslov: |
|
|
Ako ce i trebati napraviti modifikaciju, ona ce biti minimalna -- linija ili dvije. Vjerojatno nece biti "Ajde jos napisite i funkciju koja radi to i to...", jer ce vas u praktikumu biti i po 20 u pola sata i to jednostavno necemo stici.
Uglavnom cete nas unosenjem primjera uvjeravati da vas program radi, a uspjesnim odgovaranjem na pitanja "objasni sto radi ova linija/funkcija" da ste ga sami napravili :)
----
Inace, uocio sam par gresaka u nekoliko zadataka. Konkretno, u nekim zadacima sa logickim izrazima su se u primjerima pojavljivale cudne brojke tipa 38 i 94 kojima tu nije mjesto (treba stajati & i ^). Takodjer, u nekim drugim zadacima sa logickim izrazima je pogreskom pod ulaznim podacima stajao izraz u infixu, a trebao je u postfixu/prefixu. Ispricavam se zbog ovog, sada su te pogreske (nadam se) ispravljene.
Ako je ipak ostalo jos gresaka, javite se mailom.
Ako ce i trebati napraviti modifikaciju, ona ce biti minimalna -- linija ili dvije. Vjerojatno nece biti "Ajde jos napisite i funkciju koja radi to i to...", jer ce vas u praktikumu biti i po 20 u pola sata i to jednostavno necemo stici.
Uglavnom cete nas unosenjem primjera uvjeravati da vas program radi, a uspjesnim odgovaranjem na pitanja "objasni sto radi ova linija/funkcija" da ste ga sami napravili
----
Inace, uocio sam par gresaka u nekoliko zadataka. Konkretno, u nekim zadacima sa logickim izrazima su se u primjerima pojavljivale cudne brojke tipa 38 i 94 kojima tu nije mjesto (treba stajati & i ^). Takodjer, u nekim drugim zadacima sa logickim izrazima je pogreskom pod ulaznim podacima stajao izraz u infixu, a trebao je u postfixu/prefixu. Ispricavam se zbog ovog, sada su te pogreske (nadam se) ispravljene.
Ako je ipak ostalo jos gresaka, javite se mailom.
|
|
[Vrh] |
|
andreao Forumaš(ica)


Pridružen/a: 10. 02. 2005. (12:08:18) Postovi: (46F)16
Lokacija: SK
|
|
[Vrh] |
|
Zvone Forumaš(ica)

Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
mladac Forumaš(ica)


Pridružen/a: 24. 10. 2005. (22:46:14) Postovi: (4D5)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
mladac Forumaš(ica)


Pridružen/a: 24. 10. 2005. (22:46:14) Postovi: (4D5)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
mladac Forumaš(ica)


Pridružen/a: 24. 10. 2005. (22:46:14) Postovi: (4D5)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
Zvone Forumaš(ica)

Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
Postano: 1:05 ned, 19. 11. 2006 Naslov: |
|
|
Zamolio bih vas da ne stavljate tekstove svojih zadataka na web; ako neki admin ovo cita neka obrise gornji mail od mladac ako nije problem.
U zadatku u kojem treba prebaciti infix u postfix pomocu binarnog stabla, kao sto uputa kaze, treba imati 2 stoga razlicitih vrsta, jedan cuva podatke tipa BTREE, drugi tipa char. Znaci sve treba definirati uduplo:
[code:1]typedef BTREE elementtype_BTREE;
typedef char elementtype_CHAR;
typedef struct { ... } STACK_BTREE;
typedef struct { ... } STACK_CHAR;
void POP_BTREE (STACK_BTREE *S) { ... }
void POP_CHAR (STACK_CHAR *S) { ... }
[/code:1]
Stablo se makne/pogleda/stavi na stog kao i bilo koji drugi element:
[code:1]BTREE B, X; MAKE_NULL(&B); MAKE_NULL(&X);
STACK_BTREE S; MAKE_NULL_BTREE(&S);
... (napravimo nekakvo stablo)
PUSH_BTREE(B, &S);
...
X = TOP_BTREE(S); POP_BTREE(&S);
[/code:1]
(ovdje je MAKE_NULL iz atp-a BTREE, a MAKE_NULL_BTREE je iz atp-a STACK koji ima elementtype_BTREE)
Unutar funkcije npr. PUSH_BTREE uopce vas ne treba brinuti to sto je elementtype_BTREE pointer/struktura koja sadrzi polje -- na stog (koji mozete implementirati opet bilo pomocu polja bilo pomocu pointera) ga stavite tako da doslovno prepisete odgovarajucu funkciju PUSH iz skripte ili sa vjezbi.
Sam Dijkstrin algoritam zapravo trebate napraviti neovisno o implementaciji, tako je tu pomoc ista za implementaciju BTREE sa poljima i pointerima. Jednostavno, kad treba napraviti spoj dvaju stabala koji se nalaze na stogu, proces je sljedeci (ne pisem kod jer sam to vec zapravo objasnio gore):
1. pogledaj stablo sa vrha stoga -- nazovi ga B1 i makni sa stoga
2. pogledaj stablo sa vrha stoga -- nazovi ga B2 i makni sa stoga
3. ako je ch operator kojeg promatramo, napravi ovakvo stablo:
ch
/ \
B2 B1
i nazovi ga B
4. stavi B na stog
Sto se tice funkcija CREATE i LEFT_SUBTREE kod implementacije opcenitog BTREE-a -- slazem se da nisu trivijalne poput ostalih. Sa druge strane pogledaj korak 3. iz gornjeg opisa -- on neodoljivo podsjeca na tocno ono sto radi jedna od navedenih funkcija (znaci, svi koraci 1-4 se mogu napraviti pomocu poziva ukupno 4 funkcije iz atp BTREE). Evo, ako nju napravite, ne morate raditi ostale dvije.
Redoslijed prioriteta logickih operatora: uzmimo da jednak prioritet imaju | (OR) i ^ (XOR), a & (AND) ima prioritet veci on njih.
Zamolio bih vas da ne stavljate tekstove svojih zadataka na web; ako neki admin ovo cita neka obrise gornji mail od mladac ako nije problem.
U zadatku u kojem treba prebaciti infix u postfix pomocu binarnog stabla, kao sto uputa kaze, treba imati 2 stoga razlicitih vrsta, jedan cuva podatke tipa BTREE, drugi tipa char. Znaci sve treba definirati uduplo:
Kod: | typedef BTREE elementtype_BTREE;
typedef char elementtype_CHAR;
typedef struct { ... } STACK_BTREE;
typedef struct { ... } STACK_CHAR;
void POP_BTREE (STACK_BTREE *S) { ... }
void POP_CHAR (STACK_CHAR *S) { ... }
|
Stablo se makne/pogleda/stavi na stog kao i bilo koji drugi element:
Kod: | BTREE B, X; MAKE_NULL(&B); MAKE_NULL(&X);
STACK_BTREE S; MAKE_NULL_BTREE(&S);
... (napravimo nekakvo stablo)
PUSH_BTREE(B, &S);
...
X = TOP_BTREE(S); POP_BTREE(&S);
|
(ovdje je MAKE_NULL iz atp-a BTREE, a MAKE_NULL_BTREE je iz atp-a STACK koji ima elementtype_BTREE)
Unutar funkcije npr. PUSH_BTREE uopce vas ne treba brinuti to sto je elementtype_BTREE pointer/struktura koja sadrzi polje – na stog (koji mozete implementirati opet bilo pomocu polja bilo pomocu pointera) ga stavite tako da doslovno prepisete odgovarajucu funkciju PUSH iz skripte ili sa vjezbi.
Sam Dijkstrin algoritam zapravo trebate napraviti neovisno o implementaciji, tako je tu pomoc ista za implementaciju BTREE sa poljima i pointerima. Jednostavno, kad treba napraviti spoj dvaju stabala koji se nalaze na stogu, proces je sljedeci (ne pisem kod jer sam to vec zapravo objasnio gore):
1. pogledaj stablo sa vrha stoga – nazovi ga B1 i makni sa stoga
2. pogledaj stablo sa vrha stoga – nazovi ga B2 i makni sa stoga
3. ako je ch operator kojeg promatramo, napravi ovakvo stablo:
ch
/ \
B2 B1
i nazovi ga B
4. stavi B na stog
Sto se tice funkcija CREATE i LEFT_SUBTREE kod implementacije opcenitog BTREE-a – slazem se da nisu trivijalne poput ostalih. Sa druge strane pogledaj korak 3. iz gornjeg opisa – on neodoljivo podsjeca na tocno ono sto radi jedna od navedenih funkcija (znaci, svi koraci 1-4 se mogu napraviti pomocu poziva ukupno 4 funkcije iz atp BTREE). Evo, ako nju napravite, ne morate raditi ostale dvije.
Redoslijed prioriteta logickih operatora: uzmimo da jednak prioritet imaju | (OR) i ^ (XOR), a & (AND) ima prioritet veci on njih.
|
|
[Vrh] |
|
mladac Forumaš(ica)


Pridružen/a: 24. 10. 2005. (22:46:14) Postovi: (4D5)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
venovako Forumaš(ica)

Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
|
[Vrh] |
|
mladac Forumaš(ica)


Pridružen/a: 24. 10. 2005. (22:46:14) Postovi: (4D5)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
Jaja Forumaš(ica)


Pridružen/a: 26. 09. 2004. (12:06:48) Postovi: (C3)16
Spol: 
Lokacija: Zagreb
|
|
[Vrh] |
|
mladac Forumaš(ica)


Pridružen/a: 24. 10. 2005. (22:46:14) Postovi: (4D5)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
chiica Forumaš(ica)

Pridružen/a: 03. 11. 2006. (20:13:17) Postovi: (3D)16
Spol: 
|
Postano: 17:56 ned, 19. 11. 2006 Naslov: |
|
|
hm... na vjezbama je asistent spomenuo da je svjestan cinjenice da jedna od grupa ima u srijedu ujutro tjelesni i da ce se raspored predaje praviti u skladu s tim, ali nije bas tako ispalo. ja sam, recimo, u grupi koja ima tjelesni u 8h, a predaja zadace mi je u 9h. ukoliko netko do srijede ne izmisli teleportaciju, nemam bas neke sanse da obavim oboje. :(
zanima me mogu li se pozaliti nekome i ima li kakve sanse za promjenu termina?
(to nebi bio ni veliki problem da nisam vec propustila 2 termina tjelesnog)
hm... na vjezbama je asistent spomenuo da je svjestan cinjenice da jedna od grupa ima u srijedu ujutro tjelesni i da ce se raspored predaje praviti u skladu s tim, ali nije bas tako ispalo. ja sam, recimo, u grupi koja ima tjelesni u 8h, a predaja zadace mi je u 9h. ukoliko netko do srijede ne izmisli teleportaciju, nemam bas neke sanse da obavim oboje.
zanima me mogu li se pozaliti nekome i ima li kakve sanse za promjenu termina?
(to nebi bio ni veliki problem da nisam vec propustila 2 termina tjelesnog)
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
nana Forumaš(ica)


Pridružen/a: 29. 11. 2005. (12:24:35) Postovi: (2AD)16
Spol: 
|
|
[Vrh] |
|
Zvone Forumaš(ica)

Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
|
[Vrh] |
|
FFF Forumaš(ica)


Pridružen/a: 19. 11. 2006. (19:46:12) Postovi: (2A)16
|
|
[Vrh] |
|
|