| Prethodna tema :: Sljedeća tema | 
	
	
		| Autor/ica | Poruka | 
	
		| markotron Forumaš(ica)
 
  
 
 Pridružen/a: 26. 10. 2008. (12:07:29)
 Postovi: (95)16
 Spol:
  Lokacija: Umag
 
 |  | 
	
		| [Vrh] |  | 
	
		| Luuka Forumaš(ica)
 
  
  
 Pridružen/a: 13. 02. 2007. (20:34:54)
 Postovi: (925)16
 Spol:
  Lokacija: Hakuna Matata
 
 | 
			
				|  Postano: 13:29 ned, 25. 10. 2009    Naslov: Re: Implementacija QUEUE, STACK, LIST |         |  
				| 
 |  
				| [quote="markotron"]
Pokušao sam napraviti kao header file ali nisam uspio. Ne znam sto trebam napraviti. U ATP_STACK.h sam napisao sve deklaracije, ali ne znam što sad moram napravit da to dalje radi. Uvijek mi javlja linker error. Ako netko zna neka pomaže. :D Hvala
 [/quote]
 
 U devcpp-u:
 napravit project,
 napravit .h sa deklaracijama, i prototipovima fja,
 ono što imaš u .h maknut iz .c (implementacije), da se ne kolje (npr typedef i slično)
 u program sa mainom i u tvoju implementaciju includat .h napravljen gore
 sva 3 filea ubacit u project
 
 na ubuntuu:
 sve isto kod izrade .h filea, i onda kod kompajliranja navest sve fileove koji trebaju, dakle nešto oblika:
 gcc main.c implementacija.c -o p
  	  | markotron (napisa): |  	  | Pokušao sam napraviti kao header file ali nisam uspio. Ne znam sto trebam napraviti. U ATP_STACK.h sam napisao sve deklaracije, ali ne znam što sad moram napravit da to dalje radi. Uvijek mi javlja linker error. Ako netko zna neka pomaže.
  Hvala 
 | 
 
 U devcpp-u:
 napravit project,
 napravit .h sa deklaracijama, i prototipovima fja,
 ono što imaš u .h maknut iz .c (implementacije), da se ne kolje (npr typedef i slično)
 u program sa mainom i u tvoju implementaciju includat .h napravljen gore
 sva 3 filea ubacit u project
 
 na ubuntuu:
 sve isto kod izrade .h filea, i onda kod kompajliranja navest sve fileove koji trebaju, dakle nešto oblika:
 gcc main.c implementacija.c -o p
 _________________ "Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
 
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy   |  | 
	
		| [Vrh] |  | 
	
		| Zvone Forumaš(ica)
 
  
 
 Pridružen/a: 01. 07. 2003. (13:09:44)
 Postovi: (9D)16
 
 
 |  | 
	
		| [Vrh] |  | 
	
		| Tygy Forumaš(ica)
 
  
  
 Pridružen/a: 22. 11. 2008. (15:27:08)
 Postovi: (102)16
 
 
 |  | 
	
		| [Vrh] |  | 
	
		| markotron Forumaš(ica)
 
  
 
 Pridružen/a: 26. 10. 2008. (12:07:29)
 Postovi: (95)16
 Spol:
  Lokacija: Umag
 
 |  | 
	
		| [Vrh] |  | 
	
		| markotron Forumaš(ica)
 
  
 
 Pridružen/a: 26. 10. 2008. (12:07:29)
 Postovi: (95)16
 Spol:
  Lokacija: Umag
 
 |  | 
	
		| [Vrh] |  | 
	
		| vsego Site Admin
 
  
  
 Pridružen/a: 06. 10. 2002. (22:07:09)
 Postovi: (3562)16
 Spol:
  Lokacija: /sbin/init
 
 | 
			
				|  Postano: 18:35 sub, 31. 10. 2009    Naslov: |         |  
				| 
 |  
				| Ne, [tt]free()[/tt] samo oslobodi memoriju. Ako malo pogledas, poziv je
Ne, free() samo oslobodi memoriju. Ako malo pogledas, poziv je[tt]free(ptr);[/tt]
 C-ovske funkcije mogu mijenjati ono na sto [tt]ptr[/tt] pokazuje, ali ne mogu mijenjati sam [tt]ptr[/tt] (prijenos po vrijednosti, a ne po referenci), ne? ;)
 free(ptr);
 C-ovske funkcije mogu mijenjati ono na sto ptr pokazuje, ali ne mogu mijenjati sam ptr (prijenos po vrijednosti, a ne po referenci), ne?
   _________________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] |  | 
	
		| tidus Forumaš(ica)
 
  
  
 Pridružen/a: 16. 02. 2009. (12:47:59)
 Postovi: (A5)16
 Spol:
  
 
 | 
			
				|  Postano: 19:27 sub, 31. 10. 2009    Naslov: |         |  
				| 
 |  
				| [quote="vsego"]Ne, [tt]free()[/tt] samo oslobodi memoriju. Ako malo pogledas, poziv je
[tt]free(ptr);[/tt]
 C-ovske funkcije mogu mijenjati ono na sto [tt]ptr[/tt] pokazuje, ali ne mogu mijenjati sam [tt]ptr[/tt] (prijenos po vrijednosti, a ne po referenci), ne? ;)[/quote]
 
 Nisam baš shvatio. Na što će pokazivati ptr1 i ptr2 nakon free()?
  	  | vsego (napisa): |  	  | Ne, free() samo oslobodi memoriju. Ako malo pogledas, poziv je free(ptr);
 C-ovske funkcije mogu mijenjati ono na sto ptr pokazuje, ali ne mogu mijenjati sam ptr (prijenos po vrijednosti, a ne po referenci), ne?
  | 
 
 Nisam baš shvatio. Na što će pokazivati ptr1 i ptr2 nakon free()?
 
 
 |  | 
	
		| [Vrh] |  | 
	
		| markotron Forumaš(ica)
 
  
 
 Pridružen/a: 26. 10. 2008. (12:07:29)
 Postovi: (95)16
 Spol:
  Lokacija: Umag
 
 |  | 
	
		| [Vrh] |  | 
	
		| vsego Site Admin
 
  
  
 Pridružen/a: 06. 10. 2002. (22:07:09)
 Postovi: (3562)16
 Spol:
  Lokacija: /sbin/init
 
 | 
			
				|  Postano: 21:17 sub, 31. 10. 2009    Naslov: |         |  
				| 
 |  
				| Nakon [tt]free(ptr1)[/tt], [tt]ptr1[/tt] pokazuje na isto na sto je pokazivao i prije, ali ta memorija vise ne pripada programu. Ti mozes nesto unutra zapisati, no ne smijes, jer to u bilo kojem trenu moze drugi program izmijeniti.
Nakon free(ptr1), ptr1 pokazuje na isto na sto je pokazivao i prije, ali ta memorija vise ne pripada programu. Ti mozes nesto unutra zapisati, no ne smijes, jer to u bilo kojem trenu moze drugi program izmijeniti.
 Zasto ti nakon [tt]free(ptr1)[/tt] bude [tt]*ptr1 == 0[/tt], ne znam. Moze biti i do operacijskog sustava; standard, koliko znam, nista ne kaze o tome, niti je bitno sto se desi s tom vrijednoscu (jer ju ionako [b]ne smijes[/b] koristiti; vise ne "pripada" tvom programu!).
 
 Ja sam malo experimentirao i stvarno nekad ispadne nula, ali ispadala mi je i slucajna vrijednost. Vidi ovdje (isprobano na Linuxu):
 $ echo "Program:"; cat t.c; echo "Output programa:"; gcc t.c && ./a.out
 Program:
 #include <stdio.h>
 #include <stdlib.h>
 
 int main(void) {
 int *ptr1, *ptr2, *ptr3;
 
 printf("1. (%u, %u, %u) -> (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);
 ptr1 = (int*)malloc(sizeof(int)); *ptr1 = 13;
 ptr2 = (int*)malloc(sizeof(int)); *ptr2 = 17;
 ptr3 = (int*)malloc(sizeof(int)); *ptr3 = 19;
 printf("2. (%u, %u, %u) -> (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);
 free(ptr1); free(ptr2); free(ptr3);
 printf("3. (%u, %u, %u) -> (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);
 
 return 0;
 }
 Output programa:
 1. (3220618248, 134514057, 3741392) -> (-1074348952, -14632051, 1474660693)
 2. (156815368, 156815384, 156815400) -> (13, 17, 19)
 3. (156815368, 156815384, 156815400) -> (0, 156815360, 156815376)[/code]
 
 Zasto ti nakon free(ptr1) bude *ptr1 == 0, ne znam. Moze biti i do operacijskog sustava; standard, koliko znam, nista ne kaze o tome, niti je bitno sto se desi s tom vrijednoscu (jer ju ionako ne smijes koristiti; vise ne "pripada" tvom programu!).
 
 Ja sam malo experimentirao i stvarno nekad ispadne nula, ali ispadala mi je i slucajna vrijednost. Vidi ovdje (isprobano na Linuxu):
 $ echo "Program:"; cat t.c; echo "Output programa:"; gcc t.c && ./a.out
 Program:
 #include <stdio.h>
 #include <stdlib.h>
 
 int main(void) {
 int *ptr1, *ptr2, *ptr3;
 
 printf("1. (%u, %u, %u) → (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);
 ptr1 = (int*)malloc(sizeof(int)); *ptr1 = 13;
 ptr2 = (int*)malloc(sizeof(int)); *ptr2 = 17;
 ptr3 = (int*)malloc(sizeof(int)); *ptr3 = 19;
 printf("2. (%u, %u, %u) → (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);
 free(ptr1); free(ptr2); free(ptr3);
 printf("3. (%u, %u, %u) → (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);
 
 return 0;
 }
 Output programa:
 1. (3220618248, 134514057, 3741392) → (-1074348952, -14632051, 1474660693)
 2. (156815368, 156815384, 156815400) → (13, 17, 19)
 3. (156815368, 156815384, 156815400) → (0, 156815360, 156815376)[/code]
 _________________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] |  | 
	
		| piko Forumaš(ica)
 
  
  
 Pridružen/a: 09. 10. 2009. (18:20:25)
 Postovi: (26)16
 
 
 | 
			
				|  Postano: 23:35 sub, 31. 10. 2009    Naslov: |         |  
				| 
 |  
				| kako je u naslovu QUEUE imam par pitanja o njemu, pa da ne otvaram novi topic...
kako je u naslovu QUEUE imam par pitanja o njemu, pa da ne otvaram novi topic...
 zbunjuje me, ako cijelu implementaciju treba napraviti točno kao u [url=http://web.math.hr/nastava/spa/files/salabahter.pdf]šalabahteru[/url], onda za QUEUE imamo 2 tipa podataka i 5 funkcija.
 ta 2 tipa podatka su [tt]elementtype[/tt] i [tt]QUEUE[/tt]. i želimo implementirati QUEUE preko vezane liste. ali na predavanjima / u skripti se za ovu implementaciju ne koriste dva, nego TRI tipa podataka: elementtype, celltype i QUEUE:
 
 [code:1]typedef int elementtype;
 
 typedef struct cell_tag {
 elementtype element;
 struct cell_tag *next;
 } celltype;
 
 typedef struct {
 celltype *front, *rear;
 } QUEUE; [/code:1]
 
 moje je pitanje: ako sve moramo napraviti pomoću 2 tipa podataka i 5 funkcija, je li uvođenje ovakvih "pomoćnih" tipova podataka u redu?
 
 2.) znači elementtype ne može biti gornji struct nego jedino int, double, char, itd? ili se i struktura može uzeti da je elementtype, a konačan niz tih struktura čini QUEUE?
 
 jer ako bi to bilo moguće, onda bih zaista mogao imati samo dva tipa podatka, elementtype i QUEUE:
 
 [code:1]
 typedef struct cell_tag {
 int element;
 struct cell_tag *next;
 } elementtype;
 
 typedef struct {
 elementtype *front, *rear;
 } QUEUE; [/code:1]
 
 e sad me zanima je li ovo moguće ili elementtype može biti samo int, double itd...  :?:
 
 pitanje je banalno ali sam ga htiJo što preciznije formulirat :)
 
 
 
 i još me zanima ovo: ako funkcija/program mora raditi samo sa tipovima podataka i sa funkcijama iz a.t.p.-a, može li ipak primiti neki tip podataka koji nije ni elementtype ni QUEUE? npr. ako u program moram poslati matricu [tt]mat[/tt], ili sad izmišljam, neki double [tt]x[/tt], može li funkcija biti oblika
 
 [code:1]QUEUE fja(elementtype E, char **mat, QUEUE Q, double x)[/code:1]
 
 ili svi podaci moraju biti ili tipa elementtype ili QUEUE :?:
 
 na službenoj stranici piše:
 
 [quote][size=14][b]Svaka druga funkcija (uključujući main, (...)) smije prilikom korištenja tog atp-a koristiti isključivo funkcije iz definicije atp-a[/b][/size]  [/quote]
 
 da li bi bottom line onda bio: smiju se koristiti SAMO [i]funkcije[/i] iz a.t.p.-a, a smiju se koristiti i [i]tipovi podataka[/i] koji nisu u a.t.p.-u?
 
 zahvaljujem na strpljenju :D
 
 zbunjuje me, ako cijelu implementaciju treba napraviti točno kao u šalabahteru, onda za QUEUE imamo 2 tipa podataka i 5 funkcija.
 ta 2 tipa podatka su elementtype i QUEUE. i želimo implementirati QUEUE preko vezane liste. ali na predavanjima / u skripti se za ovu implementaciju ne koriste dva, nego TRI tipa podataka: elementtype, celltype i QUEUE:
 
 
  	  | Kod: |  	  | typedef int elementtype; 
 typedef struct cell_tag {
 elementtype element;
 struct cell_tag *next;
 } celltype;
 
 typedef struct {
 celltype *front, *rear;
 } QUEUE;
 | 
 
 moje je pitanje: ako sve moramo napraviti pomoću 2 tipa podataka i 5 funkcija, je li uvođenje ovakvih "pomoćnih" tipova podataka u redu?
 
 2.) znači elementtype ne može biti gornji struct nego jedino int, double, char, itd? ili se i struktura može uzeti da je elementtype, a konačan niz tih struktura čini QUEUE?
 
 jer ako bi to bilo moguće, onda bih zaista mogao imati samo dva tipa podatka, elementtype i QUEUE:
 
 
  	  | Kod: |  	  | typedef struct cell_tag {
 int element;
 struct cell_tag *next;
 } elementtype;
 
 typedef struct {
 elementtype *front, *rear;
 } QUEUE;
 | 
 
 e sad me zanima je li ovo moguće ili elementtype može biti samo int, double itd...
   
 pitanje je banalno ali sam ga htiJo što preciznije formulirat
   
 
 
 i još me zanima ovo: ako funkcija/program mora raditi samo sa tipovima podataka i sa funkcijama iz a.t.p.-a, može li ipak primiti neki tip podataka koji nije ni elementtype ni QUEUE? npr. ako u program moram poslati matricu mat, ili sad izmišljam, neki double x, može li funkcija biti oblika
 
 
  	  | Kod: |  	  | QUEUE fja(elementtype E, char **mat, QUEUE Q, double x) | 
 
 ili svi podaci moraju biti ili tipa elementtype ili QUEUE
   
 na službenoj stranici piše:
 
 
  	  | Citat: |  	  | Svaka druga funkcija (uključujući main, (...)) smije prilikom korištenja tog atp-a koristiti isključivo funkcije iz definicije atp-a | 
 
 da li bi bottom line onda bio: smiju se koristiti SAMO funkcije iz a.t.p.-a, a smiju se koristiti i tipovi podataka koji nisu u a.t.p.-u?
 
 zahvaljujem na strpljenju
   
 
 |  | 
	
		| [Vrh] |  | 
	
		| Lafiel Forumaš(ica)
 
  
  
 Pridružen/a: 26. 09. 2007. (09:56:59)
 Postovi: (153)16
 Spol:
  
 
 | 
			
				|  Postano: 13:50 čet, 12. 11. 2009    Naslov: |         |  
				| 
 |  
				| Čitam sad malo skriptu; još sam pri početku, implementacija liste preko pointera (aka vezana lista), str. 10 i 11.
Čitam sad malo skriptu; još sam pri početku, implementacija liste preko pointera (aka vezana lista), str. 10 i 11.Funkcija INSERT(x, p) bi trebala ubaciti element x na poziciju p, ali i po samoj funkciji, i po dijagramu se (po meni) to ubacuje na poziciju p+1 (tj. p->next). Da se poslužim oznakama s dijagrama, element a i dalje ostaje na poziciji p, element x dolazi nakon njega, a nakon x dođe b.  Ista stvar s DELETE. Što sam previdjela?  :-k
 Funkcija INSERT(x, p) bi trebala ubaciti element x na poziciju p, ali i po samoj funkciji, i po dijagramu se (po meni) to ubacuje na poziciju p+1 (tj. p->next). Da se poslužim oznakama s dijagrama, element a i dalje ostaje na poziciji p, element x dolazi nakon njega, a nakon x dođe b.  Ista stvar s DELETE. Što sam previdjela?
   
 
 _________________
 Weit von hier fällt Gold von den Sternen
 |  | 
	
		| [Vrh] |  | 
	
		| fireball Forumaš(ica)
 
  
  
 Pridružen/a: 07. 10. 2005. (18:49:17)
 Postovi: (4AB)16
 Spol:
  Lokacija: s rukom u vatri i nogom u grobu
 
 | 
			
				|  Postano: 20:22 čet, 12. 11. 2009    Naslov: |         |  
				| 
 |  
				| @piko: zanci ovako za prvi dio
@piko: zanci ovako za prvi dio
 elementtype je tip elementa, int, double... ili moze bit i neka struktura kao drugi red, sto, stablo, u prijevodu to je onaj tip elementa koji cuvas u stablu.
 
 celltype opisuje strukturu celije u kojoj cuvas elemente, tj ovo gore navedeno i pokazivac na dljedeci u nizu elemenata (naime red je definiran kao takav)
 
 a red je red :) FIFO lista, tj to je lista koja sdrzi elemente u celltypu :)
 
 valjda kuzis sta pricam :)
 
 p.s. ovo pisem napamet jer sam lijen pogledat skritu pa to ipak malo prouci ali mislim da nisam fulao, a ako jesam nadam se da ce me neka dobra dusa ispravit
 
 elementtype je tip elementa, int, double... ili moze bit i neka struktura kao drugi red, sto, stablo, u prijevodu to je onaj tip elementa koji cuvas u stablu.
 
 celltype opisuje strukturu celije u kojoj cuvas elemente, tj ovo gore navedeno i pokazivac na dljedeci u nizu elemenata (naime red je definiran kao takav)
 
 a red je red
  FIFO lista, tj to je lista koja sdrzi elemente u celltypu   
 valjda kuzis sta pricam
   
 p.s. ovo pisem napamet jer sam lijen pogledat skritu pa to ipak malo prouci ali mislim da nisam fulao, a ako jesam nadam se da ce me neka dobra dusa ispravit
 |  | 
	
		| [Vrh] |  | 
	
		| Zildyan Forumaš(ica)
 
  
 
 Pridružen/a: 28. 07. 2008. (13:41:39)
 Postovi: (20)16
 
 
 | 
			
				|  Postano: 22:04 čet, 12. 11. 2009    Naslov: |         |  
				| 
 |  
				| [quote="Lafiel"]Čitam sad malo skriptu; još sam pri početku, implementacija liste preko pointera (aka vezana lista), str. 10 i 11.
Funkcija INSERT(x, p) bi trebala ubaciti element x na poziciju p, ali i po samoj funkciji, i po dijagramu se (po meni) to ubacuje na poziciju p+1 (tj. p->next). Da se poslužim oznakama s dijagrama, element a i dalje ostaje na poziciji p, element x dolazi nakon njega, a nakon x dođe b.  Ista stvar s DELETE. Što sam previdjela?  :-k[/quote]
 
 ..da je pozicija elementa a(p) pokazivac p koji pokazuje celiju koja sadrzi pokazivac na a(p)..
 onda p pokazuje na celiju u kojoj je zapisan a(p-1) jer ona sadrzi i pokazivac na a(p) a onda se lako zakljucuje da ako zelis ubaciti element na poziciju p da moras ga zapisati u p->next->elements
  	  | Lafiel (napisa): |  	  | Čitam sad malo skriptu; još sam pri početku, implementacija liste preko pointera (aka vezana lista), str. 10 i 11. Funkcija INSERT(x, p) bi trebala ubaciti element x na poziciju p, ali i po samoj funkciji, i po dijagramu se (po meni) to ubacuje na poziciju p+1 (tj. p→next). Da se poslužim oznakama s dijagrama, element a i dalje ostaje na poziciji p, element x dolazi nakon njega, a nakon x dođe b.  Ista stvar s DELETE. Što sam previdjela?
  | 
 
 ..da je pozicija elementa a(p) pokazivac p koji pokazuje celiju koja sadrzi pokazivac na a(p)..
 onda p pokazuje na celiju u kojoj je zapisan a(p-1) jer ona sadrzi i pokazivac na a(p) a onda se lako zakljucuje da ako zelis ubaciti element na poziciju p da moras ga zapisati u p→next→elements
 
 
 |  | 
	
		| [Vrh] |  | 
	
		| malena Forumaš(ica)
 
  
 
 Pridružen/a: 27. 03. 2009. (16:43:42)
 Postovi: (62)16
 Spol:
  Lokacija: ...
 
 |  | 
	
		| [Vrh] |  | 
	
		| Gino Forumaš(ica)
 
  
 
 Pridružen/a: 11. 09. 2008. (10:54:06)
 Postovi: (370)16
 Lokacija: Pula
 
 |  | 
	
		| [Vrh] |  | 
	
		| komaPMF Forumaš(ica)
 
  
  
 Pridružen/a: 22. 11. 2007. (10:23:41)
 Postovi: (E6)16
 Spol:
  Lokacija: Over the roof
 
 |  | 
	
		| [Vrh] |  | 
	
		| Milojko Forumaš(ica)
 
  
  
 Pridružen/a: 07. 11. 2008. (14:57:52)
 Postovi: (453)16
 Spol:
  Lokacija: Hilbertov hotel
 
 | 
			
				|  Postano: 22:56 čet, 12. 11. 2009    Naslov: |         |  
				| 
 |  
				| 1.
1.(A-B+C)/A+B-C+A (mislim dab se to tak pročitalo)
 (A+B-C)/A-B+C+"fali mi operand"
 
 ovo što si napisala u postfiksu je
 AB-C+A/B+CA+-
 [url=http://degiorgi.math.hr/forum/viewtopic.php?t=14065]JANKRI-ev post[/url]
 prvo zagrada na stog, ispišem A, stavim - na stog, ispišem B, čitam +, stog nije prazan, praznim ga i ispišem - te stavljam + na stog, čitam C i ispišem ga, čitam ) i praznim stog, dakle samo +, .....
 (A-B+C)/A+B-C+A (mislim dab se to tak pročitalo)
 (A+B-C)/A-B+C+"fali mi operand"
 
 ovo što si napisala u postfiksu je
 AB-C+A/B+CA+-
 JANKRI-ev post
 prvo zagrada na stog, ispišem A, stavim - na stog, ispišem B, čitam +, stog nije prazan, praznim ga i ispišem - te stavljam + na stog, čitam C i ispišem ga, čitam ) i praznim stog, dakle samo +, .....
 _________________ Sedam je prost broj    
Bolonja je smeće i to pod hitno treba mijenjat |  | 
	
		| [Vrh] |  | 
	
		| malena Forumaš(ica)
 
  
 
 Pridružen/a: 27. 03. 2009. (16:43:42)
 Postovi: (62)16
 Spol:
  Lokacija: ...
 
 |  | 
	
		| [Vrh] |  | 
	
		| Gino Forumaš(ica)
 
  
 
 Pridružen/a: 11. 09. 2008. (10:54:06)
 Postovi: (370)16
 Lokacija: Pula
 
 | 
			
				|  Postano: 23:10 čet, 12. 11. 2009    Naslov: |         |  
				| 
 |  
				| [latex]\begin{array}{|l|l|}\hline
ispis & stog\\\hline
 &(\\\hline
 A & (\\\hline
 A & (-\\\hline
 AB & (-\\\hline
 AB- & (+\\\hline
 AB-C & (+\\\hline
 AB-C+&\\\hline
 AB-C+& /\\\hline
 AB-C+A& /\\\hline
 AB-C+A/& +\\\hline
 AB-C+A/B& +\\\hline
 AB-C+A/B+& -\\\hline
 AB-C+A/B+& -(\\\hline
 AB-C+A/B+C& -(\\\hline
 AB-C+A/B+C& -(+\\\hline
 AB-C+A/B+CA& -(+\\\hline
 AB-C+A/B+CA+-& \\\hline
 \end{array}[/latex]
 
 [size=9][color=#999999]Added after 3 minutes:[/color][/size]
 
 [quote="malena"]proslogodisnji kolokvij funkcija IZBACI one koji se javljaju manje od k puta[/quote]
 [code:1]// 2008 str 6 (nigdje nisam koristio to da su charovi ??)
 int IZBACI(QUEUE *Q, int k){
 STACK S1,S2;
 int koliko=0,i,vrati=0;
 S_MAKE_NULL(&S1); S_MAKE_NULL(&S2);
 while(!EMPTY(*Q)){
 PUSH(FRONT(*Q),&S1);
 DEQUEUE(Q);
 while(!EMPTY(*Q)){
 if(FRONT(*Q)==TOP(S1)){
 PUSH(FRONT(*Q),&S1);
 DEQUEUE(Q);
 koliko+=1;
 }
 PUSH(FRONT(*Q),&S2);
 DEQUEUE(Q)
 }
 if(koliko+1<k){
 for(i=0;i<koliko+1;i++)
 POP(&S1);
 vrati+=1;
 }
 while(!S_EMPTY(S2)){
 ENQUEUE(TOP(S2),Q);
 POP(&S2);
 }
 koliko=0;
 }
 while(!S_EMPTY(S1)){
 ENQUEUE(TOP(S1),Q);
 POP(&S1);
 }
 return vrati;
 }[/code:1]
   
 Added after 3 minutes:
 
 
  	  | malena (napisa): |  	  | proslogodisnji kolokvij funkcija IZBACI one koji se javljaju manje od k puta | 
 
  	  | Kod: |  	  | // 2008 str 6 (nigdje nisam koristio to da su charovi ??) int IZBACI(QUEUE *Q, int k){
 STACK S1,S2;
 int koliko=0,i,vrati=0;
 S_MAKE_NULL(&S1); S_MAKE_NULL(&S2);
 while(!EMPTY(*Q)){
 PUSH(FRONT(*Q),&S1);
 DEQUEUE(Q);
 while(!EMPTY(*Q)){
 if(FRONT(*Q)==TOP(S1)){
 PUSH(FRONT(*Q),&S1);
 DEQUEUE(Q);
 koliko+=1;
 }
 PUSH(FRONT(*Q),&S2);
 DEQUEUE(Q)
 }
 if(koliko+1<k){
 for(i=0;i<koliko+1;i++)
 POP(&S1);
 vrati+=1;
 }
 while(!S_EMPTY(S2)){
 ENQUEUE(TOP(S2),Q);
 POP(&S2);
 }
 koliko=0;
 }
 while(!S_EMPTY(S1)){
 ENQUEUE(TOP(S1),Q);
 POP(&S1);
 }
 return vrati;
 }
 | 
 
 
 _________________
 Mario Berljafa
 |  | 
	
		| [Vrh] |  | 
	
		|  |