Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
Shirohige Forumaš(ica)
Pridružen/a: 16. 11. 2012. (20:19:56) Postovi: (ED)16
Spol:
|
Postano: 15:19 čet, 21. 11. 2013 Naslov: |
|
|
Hvala aangelinaaa :D
[quote="anamarie"]3.zadatak
http://web.math.pmf.unizg.hr/nastava/spa/kolokviji/2012/SPA%20-%202012%20-%20kolokvij1%20-%20zadaci.pdf[/quote]
Ja sam dobio [tex] \omega_1 = 91 [/tex] tj. prvo ignoriraš ovu listu s oznakom [tex] \omega_1 [/tex] i gledaš samo ove ostale s konkretnim vrijednostima. (7, 10, 4, 16, 5)
Poredaš ih po veličini:
(4, 5, 7, 10, 16) i onda se gradi stablo Huffmanovim algoritmom:
Tj. uzmemo dva čvora s najmanjim oznakama (4 i 5) i napravimo stablo tako da su 4 i 5 djeca, a roditelj tj. korijen je zbrog oznaka 4+5=9
sada imamo:
9 7 10 16
/ \
4 5
Opet uzmemo dva najmanja čvora (9 i 7) ...
pa nam ostane 16, 10, 16, opet dva najmanja (10 i 16) pa nam ostaje : 26 i 16 i zadnji puta: 42
U zadatku kaže da je minimalni broj operacija 133 pa je [tex] \omega_1 = 91 [/tex].
Jel ide to tako ili ?
Hvala aangelinaaa
Ja sam dobio [tex] \omega_1 = 91 [/tex] tj. prvo ignoriraš ovu listu s oznakom [tex] \omega_1 [/tex] i gledaš samo ove ostale s konkretnim vrijednostima. (7, 10, 4, 16, 5)
Poredaš ih po veličini:
(4, 5, 7, 10, 16) i onda se gradi stablo Huffmanovim algoritmom:
Tj. uzmemo dva čvora s najmanjim oznakama (4 i 5) i napravimo stablo tako da su 4 i 5 djeca, a roditelj tj. korijen je zbrog oznaka 4+5=9
sada imamo:
9 7 10 16
/ \
4 5
Opet uzmemo dva najmanja čvora (9 i 7) ...
pa nam ostane 16, 10, 16, opet dva najmanja (10 i 16) pa nam ostaje : 26 i 16 i zadnji puta: 42
U zadatku kaže da je minimalni broj operacija 133 pa je [tex] \omega_1 = 91 [/tex].
Jel ide to tako ili ?
|
|
[Vrh] |
|
nuclear Forumaš(ica)
Pridružen/a: 13. 11. 2011. (17:40:12) Postovi: (74)16
Spol:
|
Postano: 15:29 čet, 21. 11. 2013 Naslov: |
|
|
Iako mi se čini da uzalud tražim pomoć.....
Ovo je moj kod za 2. zadatak, ne mogu doista shvatiti gdje je greška, jer je sitna (ali ne manje bitna :D). Radi se o redu 81, kaže da ne valja tu....
http://web.math.pmf.unizg.hr/nastava/spa/files/zadaci_za_vjezbu_kolokvij1.pdf
[code:1]
void SetAndSort(List *L, int idprocesa, int prioritet){
position q, p, maks;
for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L))
if(LiRetrieve(q,*L).ident==idprocesa){
LiRetrieve(q,*L).prior=prioritet;
break;}
for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L)){
maks=q;
for(p=LiNext(q,*L); p!=LiEnd(*L); p=LiNext(p,*L)){
if(LiRetrieve(p,*L).prior > prioritet) maks=p;}
if(maks!=q){
elementtype temp;
temp=LiRetrieve(q,*L);
LiDelete(q,L);
LiInsert(LiRetrieve(maks,*L), q, L);
LiInsert(temp, maks, L);} }
}
[/code:1]
Iako mi se čini da uzalud tražim pomoć.....
Ovo je moj kod za 2. zadatak, ne mogu doista shvatiti gdje je greška, jer je sitna (ali ne manje bitna ). Radi se o redu 81, kaže da ne valja tu....
http://web.math.pmf.unizg.hr/nastava/spa/files/zadaci_za_vjezbu_kolokvij1.pdf
Kod: |
void SetAndSort(List *L, int idprocesa, int prioritet){
position q, p, maks;
for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L))
if(LiRetrieve(q,*L).ident==idprocesa){
LiRetrieve(q,*L).prior=prioritet;
break;}
for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L)){
maks=q;
for(p=LiNext(q,*L); p!=LiEnd(*L); p=LiNext(p,*L)){
if(LiRetrieve(p,*L).prior > prioritet) maks=p;}
if(maks!=q){
elementtype temp;
temp=LiRetrieve(q,*L);
LiDelete(q,L);
LiInsert(LiRetrieve(maks,*L), q, L);
LiInsert(temp, maks, L);} }
}
|
|
|
[Vrh] |
|
frutabella Forumaš(ica)
Pridružen/a: 09. 10. 2010. (16:35:36) Postovi: (24E)16
|
Postano: 15:40 čet, 21. 11. 2013 Naslov: |
|
|
[quote="Shirohige"]Hvala aangelinaaa :D
[quote="anamarie"]3.zadatak
http://web.math.pmf.unizg.hr/nastava/spa/kolokviji/2012/SPA%20-%202012%20-%20kolokvij1%20-%20zadaci.pdf[/quote]
Ja sam dobio [tex] \omega_1 = 91 [/tex] tj. prvo ignoriraš ovu listu s oznakom [tex] \omega_1 [/tex] i gledaš samo ove ostale s konkretnim vrijednostima. (7, 10, 4, 16, 5)
Poredaš ih po veličini:
(4, 5, 7, 10, 16) i onda se gradi stablo Huffmanovim algoritmom:
Tj. uzmemo dva čvora s najmanjim oznakama (4 i 5) i napravimo stablo tako da su 4 i 5 djeca, a roditelj tj. korijen je zbrog oznaka 4+5=9
sada imamo:
9 7 10 16
/ \
4 5
Opet uzmemo dva najmanja čvora (9 i 7) ...
pa nam ostane 16, 10, 16, opet dva najmanja (10 i 16) pa nam ostaje : 26 i 16 i zadnji puta: 42
U zadatku kaže da je minimalni broj operacija 133 pa je [tex] \omega_1 = 91 [/tex].
Jel ide to tako ili ?[/quote]
I ja sam dobila rjesenje 91. Ma da sam ja isla na drukciji nacin, tako da sam pretpsotavila da je w1 najmanja oznaka. Ma da mi to nesto i nema smilsa, jer onda w1 moze biti 0,1,2,3. A na kraju mi ispadne da je 91.
Shirohige (napisa): | Hvala aangelinaaa
Ja sam dobio [tex] \omega_1 = 91 [/tex] tj. prvo ignoriraš ovu listu s oznakom [tex] \omega_1 [/tex] i gledaš samo ove ostale s konkretnim vrijednostima. (7, 10, 4, 16, 5)
Poredaš ih po veličini:
(4, 5, 7, 10, 16) i onda se gradi stablo Huffmanovim algoritmom:
Tj. uzmemo dva čvora s najmanjim oznakama (4 i 5) i napravimo stablo tako da su 4 i 5 djeca, a roditelj tj. korijen je zbrog oznaka 4+5=9
sada imamo:
9 7 10 16
/ \
4 5
Opet uzmemo dva najmanja čvora (9 i 7) ...
pa nam ostane 16, 10, 16, opet dva najmanja (10 i 16) pa nam ostaje : 26 i 16 i zadnji puta: 42
U zadatku kaže da je minimalni broj operacija 133 pa je [tex] \omega_1 = 91 [/tex].
Jel ide to tako ili ? |
I ja sam dobila rjesenje 91. Ma da sam ja isla na drukciji nacin, tako da sam pretpsotavila da je w1 najmanja oznaka. Ma da mi to nesto i nema smilsa, jer onda w1 moze biti 0,1,2,3. A na kraju mi ispadne da je 91.
|
|
[Vrh] |
|
Shirohige Forumaš(ica)
Pridružen/a: 16. 11. 2012. (20:19:56) Postovi: (ED)16
Spol:
|
Postano: 15:49 čet, 21. 11. 2013 Naslov: |
|
|
[quote="nuclear"]Iako mi se čini da uzalud tražim pomoć.....
Ovo je moj kod za 2. zadatak, ne mogu doista shvatiti gdje je greška, jer je sitna (ali ne manje bitna :D). Radi se o redu 81, kaže da ne valja tu....
http://web.math.pmf.unizg.hr/nastava/spa/files/zadaci_za_vjezbu_kolokvij1.pdf
[code:1]
void SetAndSort(List *L, int idprocesa, int prioritet){
position q, p, maks;
for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L))
if(LiRetrieve(q,*L).ident==idprocesa){
LiRetrieve(q,*L).prior=prioritet;
break;}
for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L)){
maks=q;
for(p=LiNext(q,*L); p!=LiEnd(*L); p=LiNext(p,*L)){
if(LiRetrieve(p,*L).prior > prioritet) maks=p;}
if(maks!=q){
elementtype temp;
temp=LiRetrieve(q,*L);
LiDelete(q,L);
LiInsert(LiRetrieve(maks,*L), q, L);
LiInsert(temp, maks, L);} }
}
[/code:1][/quote]
Možda pomogne moj kod:
[url]http://pastebin.com/QWXAbb7W[/url]
Si sigurna da si dobro implementirala ostale funkcije? Jer ovdje nam je elementtype struct, a lista je skupina structova:
[code:1]#define MAXLENGTH 100
typedef int position;
typedef struct
{
int identifikator;
int prioritet;
char vlasnik[50];
char vrijeme[20];
} proces;
typedef proces elementtype;
typedef struct
{
elementtype elements[MAXLENGTH];
int last;
} List;[/code:1]
Npr. , moja funkcija LiInsert:
[url]http://pastebin.com/XmPAzYMD[/url]
nuclear (napisa): | Iako mi se čini da uzalud tražim pomoć.....
Ovo je moj kod za 2. zadatak, ne mogu doista shvatiti gdje je greška, jer je sitna (ali ne manje bitna ). Radi se o redu 81, kaže da ne valja tu....
http://web.math.pmf.unizg.hr/nastava/spa/files/zadaci_za_vjezbu_kolokvij1.pdf
Kod: |
void SetAndSort(List *L, int idprocesa, int prioritet){
position q, p, maks;
for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L))
if(LiRetrieve(q,*L).ident==idprocesa){
LiRetrieve(q,*L).prior=prioritet;
break;}
for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L)){
maks=q;
for(p=LiNext(q,*L); p!=LiEnd(*L); p=LiNext(p,*L)){
if(LiRetrieve(p,*L).prior > prioritet) maks=p;}
if(maks!=q){
elementtype temp;
temp=LiRetrieve(q,*L);
LiDelete(q,L);
LiInsert(LiRetrieve(maks,*L), q, L);
LiInsert(temp, maks, L);} }
}
|
|
Možda pomogne moj kod:
http://pastebin.com/QWXAbb7W
Si sigurna da si dobro implementirala ostale funkcije? Jer ovdje nam je elementtype struct, a lista je skupina structova:
Kod: | #define MAXLENGTH 100
typedef int position;
typedef struct
{
int identifikator;
int prioritet;
char vlasnik[50];
char vrijeme[20];
} proces;
typedef proces elementtype;
typedef struct
{
elementtype elements[MAXLENGTH];
int last;
} List; |
Npr. , moja funkcija LiInsert:
http://pastebin.com/XmPAzYMD
|
|
[Vrh] |
|
nuclear Forumaš(ica)
Pridružen/a: 13. 11. 2011. (17:40:12) Postovi: (74)16
Spol:
|
Postano: 16:04 čet, 21. 11. 2013 Naslov: |
|
|
Evo da imam imalo volje, proučavala bi tvoj kod....ali nemam, pa te molim da pogledaš moj, problem je samo u jednom redu, JEDNOM REDU :D ne da mi se gledat i uspoređivat što smo drugačije i tako to :/
[size=9][color=#999999]Added after 3 minutes:[/color][/size]
[quote="Shirohige"][quote="nuclear"]...
Npr. , moja funkcija LiInsert:
[url]http://pastebin.com/XmPAzYMD[/url][/quote]
nemoj mi uzet za zlo, ali mislim da ne smijemo mijenjati implementacije zbog neke funkcije tako da mislim da to nije ok, taj tvoj kod :O
...da još dodam, ne znam u čemu je bio točno problem pošto nisam kopirala s neke stranice, ali ispada da je bilo "nedozvoljenih znakova", dakle ok mi je kod, pardonček :)
Evo da imam imalo volje, proučavala bi tvoj kod....ali nemam, pa te molim da pogledaš moj, problem je samo u jednom redu, JEDNOM REDU ne da mi se gledat i uspoređivat što smo drugačije i tako to
Added after 3 minutes:
[quote="Shirohige"]
nemoj mi uzet za zlo, ali mislim da ne smijemo mijenjati implementacije zbog neke funkcije tako da mislim da to nije ok, taj tvoj kod :O
...da još dodam, ne znam u čemu je bio točno problem pošto nisam kopirala s neke stranice, ali ispada da je bilo "nedozvoljenih znakova", dakle ok mi je kod, pardonček
|
|
[Vrh] |
|
Shirohige Forumaš(ica)
Pridružen/a: 16. 11. 2012. (20:19:56) Postovi: (ED)16
Spol:
|
Postano: 16:27 čet, 21. 11. 2013 Naslov: |
|
|
[size=9][color=#999999]Added after 3 minutes:[/color][/size]
[quote="Shirohige"][quote="nuclear"]...
Npr. , moja funkcija LiInsert:
[url]http://pastebin.com/XmPAzYMD[/url][/quote]
nemoj mi uzet za zlo, ali mislim da ne smijemo mijenjati implementacije zbog neke funkcije tako da mislim da to nije ok, taj tvoj kod :O
...da još dodam, ne znam u čemu je bio točno problem pošto nisam kopirala s neke stranice, ali ispada da je bilo "nedozvoljenih znakova", dakle ok mi je kod, pardonček :)[/quote]
Pa piše u skripti da je to jedna od "mogućih" implementacija, nas zanimaju samo funkcije same po sebi, a ne način na koji su implementirane, a ovise i o samom elementtype-u, recimo, ti imaš sljedeći kod:
[code:1]for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L))
if(LiRetrieve(q,*L).identifikator==idprocesa){
LiRetrieve(q,*L).prioritet=prioritet;
break;}[/code:1]
3. linija glasi:
[code:1]LiRetrieve(q,*L).prioritet=prioritet;[/code:1]
A ako pogledaš u šalabahteru, LiRetrieve samo vraća element i argument mu je lista L, a ne *L (u funkciji mu dakle šalješ *L, a ne &(*L) pa ne možeš mijenjati tako komponentu elementa.
tj.
[code:1]elementtype LiRetrieve(position P, List L)[/code:1], a ne
[code:1]elementtype LiRetrieve(position P, List* L)[/code:1]
odnosno u funkciji
[code:1]elementtype LiRetrieve(position P, List* L)[/code:1], a ne
[code:1]elementtype LiRetrieve(position P, List** L)[/code:1]
Možda sam u krivu :? , ali mislim da sam samo prilagodio funkcije tako da barataju s elementtype-om struct, a bitna nam je jedino funkcija [code:1]void SetAndSort (List* listap, int idprocesa, int prioritet)[/code:1] koju sam čini mi se sklepao u skladu s definicijama LiInsert, LiRetrieve, ... tj. neovisno kako one rade u pozadini.
Added after 3 minutes:
Shirohige (napisa): |
nemoj mi uzet za zlo, ali mislim da ne smijemo mijenjati implementacije zbog neke funkcije tako da mislim da to nije ok, taj tvoj kod :O
...da još dodam, ne znam u čemu je bio točno problem pošto nisam kopirala s neke stranice, ali ispada da je bilo "nedozvoljenih znakova", dakle ok mi je kod, pardonček |
Pa piše u skripti da je to jedna od "mogućih" implementacija, nas zanimaju samo funkcije same po sebi, a ne način na koji su implementirane, a ovise i o samom elementtype-u, recimo, ti imaš sljedeći kod:
Kod: | for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L))
if(LiRetrieve(q,*L).identifikator==idprocesa){
LiRetrieve(q,*L).prioritet=prioritet;
break;} |
3. linija glasi:
Kod: | LiRetrieve(q,*L).prioritet=prioritet; |
A ako pogledaš u šalabahteru, LiRetrieve samo vraća element i argument mu je lista L, a ne *L (u funkciji mu dakle šalješ *L, a ne &(*L) pa ne možeš mijenjati tako komponentu elementa.
tj.
Kod: | elementtype LiRetrieve(position P, List L) | , a ne
Kod: | elementtype LiRetrieve(position P, List* L) |
odnosno u funkciji
Kod: | elementtype LiRetrieve(position P, List* L) | , a ne
Kod: | elementtype LiRetrieve(position P, List** L) |
Možda sam u krivu , ali mislim da sam samo prilagodio funkcije tako da barataju s elementtype-om struct, a bitna nam je jedino funkcija Kod: | void SetAndSort (List* listap, int idprocesa, int prioritet) | koju sam čini mi se sklepao u skladu s definicijama LiInsert, LiRetrieve, ... tj. neovisno kako one rade u pozadini.
Zadnja promjena: Shirohige; 16:41 čet, 21. 11. 2013; ukupno mijenjano 1 put.
|
|
[Vrh] |
|
nuclear Forumaš(ica)
Pridružen/a: 13. 11. 2011. (17:40:12) Postovi: (74)16
Spol:
|
Postano: 16:38 čet, 21. 11. 2013 Naslov: |
|
|
[quote="Shirohige"]
Pa piše u skripti da je to jedna od "mogućih" implementacija, nas zanimaju samo funkcije same po sebi, a ne način na koji su implementirane, a ovise i o samom elementtype-u, recimo, ti imaš sljedeći kod:
[code:1]for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L))
if(LiRetrieve(q,*L).identifikator==idprocesa){
LiRetrieve(q,*L).prioritet=prioritet;
break;}[/code:1]
...[/quote]
onda ok :)
Shirohige (napisa): |
Pa piše u skripti da je to jedna od "mogućih" implementacija, nas zanimaju samo funkcije same po sebi, a ne način na koji su implementirane, a ovise i o samom elementtype-u, recimo, ti imaš sljedeći kod:
Kod: | for(q=LiFirst(*L); q!=LiEnd(*L); q=LiNext(q,*L))
if(LiRetrieve(q,*L).identifikator==idprocesa){
LiRetrieve(q,*L).prioritet=prioritet;
break;} |
... |
onda ok
|
|
[Vrh] |
|
ipeula Forumaš(ica)
Pridružen/a: 07. 01. 2013. (20:24:46) Postovi: (3)16
|
Postano: 17:01 čet, 21. 11. 2013 Naslov: |
|
|
[quote="Shirohige"]Hvala aangelinaaa :D
[quote="anamarie"]3.zadatak
http://web.math.pmf.unizg.hr/nastava/spa/kolokviji/2012/SPA%20-%202012%20-%20kolokvij1%20-%20zadaci.pdf[/quote]
Ja sam dobio [tex] \omega_1 = 91 [/tex] tj. prvo ignoriraš ovu listu s oznakom [tex] \omega_1 [/tex] i gledaš samo ove ostale s konkretnim vrijednostima. (7, 10, 4, 16, 5)
Poredaš ih po veličini:
(4, 5, 7, 10, 16) i onda se gradi stablo Huffmanovim algoritmom:
Tj. uzmemo dva čvora s najmanjim oznakama (4 i 5) i napravimo stablo tako da su 4 i 5 djeca, a roditelj tj. korijen je zbrog oznaka 4+5=9
sada imamo:
9 7 10 16
/ \
4 5
Opet uzmemo dva najmanja čvora (9 i 7) ...
pa nam ostane 16, 10, 16, opet dva najmanja (10 i 16) pa nam ostaje : 26 i 16 i zadnji puta: 42
U zadatku kaže da je minimalni broj operacija 133 pa je [tex] \omega_1 = 91 [/tex].
Jel ide to tako ili ?[/quote]
133 je ukupan broj operacija, pa onda ima ona formula suma(po Li) pi*wi, i onda pogađas, uzmes recimo w1=1 pa se dobije suma 101 ili tako nesto, i tako uzmimas dalje, recimo 10, pa je suma 129 i onda vidis da je tu negdje blizu, tako to ide, bar koliko sam ja skuzio :) i rezultat je w1=12
Shirohige (napisa): | Hvala aangelinaaa
Ja sam dobio [tex] \omega_1 = 91 [/tex] tj. prvo ignoriraš ovu listu s oznakom [tex] \omega_1 [/tex] i gledaš samo ove ostale s konkretnim vrijednostima. (7, 10, 4, 16, 5)
Poredaš ih po veličini:
(4, 5, 7, 10, 16) i onda se gradi stablo Huffmanovim algoritmom:
Tj. uzmemo dva čvora s najmanjim oznakama (4 i 5) i napravimo stablo tako da su 4 i 5 djeca, a roditelj tj. korijen je zbrog oznaka 4+5=9
sada imamo:
9 7 10 16
/ \
4 5
Opet uzmemo dva najmanja čvora (9 i 7) ...
pa nam ostane 16, 10, 16, opet dva najmanja (10 i 16) pa nam ostaje : 26 i 16 i zadnji puta: 42
U zadatku kaže da je minimalni broj operacija 133 pa je [tex] \omega_1 = 91 [/tex].
Jel ide to tako ili ? |
133 je ukupan broj operacija, pa onda ima ona formula suma(po Li) pi*wi, i onda pogađas, uzmes recimo w1=1 pa se dobije suma 101 ili tako nesto, i tako uzmimas dalje, recimo 10, pa je suma 129 i onda vidis da je tu negdje blizu, tako to ide, bar koliko sam ja skuzio i rezultat je w1=12
|
|
[Vrh] |
|
Shirohige Forumaš(ica)
Pridružen/a: 16. 11. 2012. (20:19:56) Postovi: (ED)16
Spol:
|
Postano: 17:48 čet, 21. 11. 2013 Naslov: |
|
|
[quote="ipeula"]
133 je ukupan broj operacija, pa onda ima ona formula suma(po Li) pi*wi, i onda pogađas, uzmes recimo w1=1 pa se dobije suma 101 ili tako nesto, i tako uzmimas dalje, recimo 10, pa je suma 129 i onda vidis da je tu negdje blizu, tako to ide, bar koliko sam ja skuzio :) i rezultat je w1=12[/quote]
E to, hvala! :D
ipeula (napisa): |
133 je ukupan broj operacija, pa onda ima ona formula suma(po Li) pi*wi, i onda pogađas, uzmes recimo w1=1 pa se dobije suma 101 ili tako nesto, i tako uzmimas dalje, recimo 10, pa je suma 129 i onda vidis da je tu negdje blizu, tako to ide, bar koliko sam ja skuzio i rezultat je w1=12 |
E to, hvala!
|
|
[Vrh] |
|
frutabella Forumaš(ica)
Pridružen/a: 09. 10. 2010. (16:35:36) Postovi: (24E)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 20:01 čet, 21. 11. 2013 Naslov: |
|
|
[quote="frutabella"]Moze ideja za prvi zadatak iz 2012.?
Kako ubacivati na dno stoga?[/quote]
Pise da hoce rekurziju, dakle:
- Ako je stog prazan, dodas novi element i izadjes van iz funkcije.
- Inace skines element s vrha stoga (zapamtis vrijednost u vatrijabli, npr. [tt]x[/tt]), pozoves rekurziju, i onda vratis [tt]x[/tt] na stog.
frutabella (napisa): | Moze ideja za prvi zadatak iz 2012.?
Kako ubacivati na dno stoga? |
Pise da hoce rekurziju, dakle:
- Ako je stog prazan, dodas novi element i izadjes van iz funkcije.
- Inace skines element s vrha stoga (zapamtis vrijednost u vatrijabli, npr. x), pozoves rekurziju, i onda vratis x na stog.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
frutabella Forumaš(ica)
Pridružen/a: 09. 10. 2010. (16:35:36) Postovi: (24E)16
|
Postano: 20:28 čet, 21. 11. 2013 Naslov: |
|
|
Imala sam tu ideju u glavi, ali kad si pocnem crtati pogubim se u rekurziji. Da li je ovako ok:
[code:1]void PushBottom (element x, Stack *S)
{
elementtype y;
if(StEmpty(*S)==1)
{
StPush(x,S);
return;
}
else
{
y=StTop(S);
StPop(S);
PushBottom(x,S);
StPush(y,S);
}
return;
}
[/code:1]
Imala sam tu ideju u glavi, ali kad si pocnem crtati pogubim se u rekurziji. Da li je ovako ok:
Kod: | void PushBottom (element x, Stack *S)
{
elementtype y;
if(StEmpty(*S)==1)
{
StPush(x,S);
return;
}
else
{
y=StTop(S);
StPop(S);
PushBottom(x,S);
StPush(y,S);
}
return;
}
|
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
frutabella Forumaš(ica)
Pridružen/a: 09. 10. 2010. (16:35:36) Postovi: (24E)16
|
Postano: 20:57 čet, 21. 11. 2013 Naslov: |
|
|
http://web.math.pmf.unizg.hr/nastava/spa/kolokviji/2012/SPA%20-%202012%20-%20kolokvij1%20-%20zadaci.pdf
4. zad pod a)
(P.s. Nemam trenutno vremena isprobavati na compu)
Jel ovo ok:
[code:1] BTREE jedno (int n)
{
int i;
node m, c, d, temp;
labeltype l=1;
Binary Tree T, TL;
m=BiCreate(L,TL,LAMDA, &T);
c=BiLeftChild(m, T);
BiChangeLabel(l, c, &T);
for(i=2; i<n; ++i)
{
d=BiInsertRightChild(l, c, &T);
temp=d;
c=temp;
}
return T;
}
[/code:1][/code]
http://web.math.pmf.unizg.hr/nastava/spa/kolokviji/2012/SPA%20-%202012%20-%20kolokvij1%20-%20zadaci.pdf
4. zad pod a)
(P.s. Nemam trenutno vremena isprobavati na compu)
Jel ovo ok:
Kod: | BTREE jedno (int n)
{
int i;
node m, c, d, temp;
labeltype l=1;
Binary Tree T, TL;
m=BiCreate(L,TL,LAMDA, &T);
c=BiLeftChild(m, T);
BiChangeLabel(l, c, &T);
for(i=2; i<n; ++i)
{
d=BiInsertRightChild(l, c, &T);
temp=d;
c=temp;
}
return T;
}
| [/code]
|
|
[Vrh] |
|
Shirohige Forumaš(ica)
Pridružen/a: 16. 11. 2012. (20:19:56) Postovi: (ED)16
Spol:
|
|
[Vrh] |
|
kslaven Forumaš(ica)
Pridružen/a: 17. 10. 2010. (18:07:06) Postovi: (52)16
Spol:
|
|
[Vrh] |
|
|