[ impreza @ 15.08.2011. 13:24 ] @
Potrebna mi je pomoć oko c programiranja, nisam neki, tj. nisam nikakav programer na tom polju pa bi mi svaka pomoć dobrodošla. Potrebno je da prikažem kako se red implementira pomoću dva steka, napisati operacije ENQUEUE, DEQUEUE i MAKE_NULL za taj slučaj uz pomoć, MAKE_NULL(&S), PUSH(x,&S), POP(&S) i dva steka.

Svaka pomoć će mi dobro doći. Ukoliko neko zna neke sajtove/linkove ka referal neka pomaže. Hvala
[ Mihajlo Cvetanović @ 15.08.2011. 15:18 ] @
Ovo nema toliko veze sa programskim jezikom C, koliko sa algoritmima i strukturama podataka. Da li zadatak treba uraditi u programskom jeziku C? Ako ne, onda u kom programskom jeziku? Ako je u nekom pseudojeziku, onda nam treba sintaksa tog jezika.

Zapravo, ne moramo mi da znamo jezik ako ti znaš. Dovoljno je samo objašnjenje. Pada mi na pamet rešenje po kome se za ENQUEUE svi podaci prelivaju iz S2 u S1 pre dodavanja novog, a prilikom DEQUEUE svi podaci iz S1 se prelivaju u S2, da bi se uzeo onaj sa vrha S2. Ali da bi to radilo treba mi neka funkcija koja mi kaže kada je stek prazan. Da li postoji takva funkcija?

Ovo prelivanje je poprilično nalik onoj šarenoj feder-igrački. Cilj je da koristimo jedan stek za upis, a drugi stek (u kome su elementi poređani suprotno) za čitanje.

http://www.youtube.com/watch?v=w72NkTUov-I
[ the_tosic @ 15.08.2011. 15:48 ] @
Samo prevedi na jezik koji ti treba, imas i objasnjenje. Ovo bi inace treablo da bude zadatak iz algoritama:
http://geek-o-pedia.blogspot.c...i-encountered-trivial-but.html
[ Mihajlo Cvetanović @ 15.08.2011. 15:56 ] @
Prvi komentator kaže da je kod "borken". Trebalo bi dobro trestirati ovo pre upotrebe. U svakom slučaju, u kodu se koristi funkcija is_empty, pa i nama treba neka takva, a to trenutno nije dato u zadatku.
[ impreza @ 15.08.2011. 16:09 ] @
Da, zadatak je iz predmeta algoritmi i struktura podataka, a jezik koji bi trebao da se koristi je C. Meni je to izborni predmet, a ja nisam baš vešt što se programiranje u c-u tiče
[ Mihajlo Cvetanović @ 15.08.2011. 16:25 ] @
A koji jezik znaš? Pazi, ovde su već date funkcije, nema veze što ne postoji njihov kod. Ti ih koristiš u svom C rešenju onako kako su date. Recimo:

Code:
// Ovde se pretpostavlja da su S i MAKE_NULL(&S) već definisani
S s1;
S s2;

void MAKE_NULL()
{
   MAKE_NULL(&s1);
   MAKE_NULL(&s2);
}


MAKE_NULL() je funkcija koja se traži, a koristi se funkcija MAKE_NULL(&S), koja je data u zadatku. Da bi se napravile preostale dve funkcije potrebna nam je još jedna funkcija za rad sa stekovima, recimo da se zove IS_EMPTY. E sad, možeš li ti da napraviš ovo u bilo kakvom jeziku, ne mora da bude C? Lako će se to posle prebaciti u C.

Cilj nije da ti damo rešenje, nego da napregneš male sive ćelije...
[ impreza @ 15.08.2011. 16:35 ] @
MOgu ja da naprežem do sutra mozak, to nije problem, od programiranja ne znam ni jedan jezik sa kojim bih mogao ovo da rašim, jednostavno nisam programer. Znam da je glupo da mi vi dajete rešenje, proučavam ovaj link koji ste mi ostavili ukoliko imate još neku stranicu slobodno ostavite.
[ Mihajlo Cvetanović @ 15.08.2011. 17:07 ] @
Sad je idealno vreme da otkriješ svoje programerske super-moći, inače teško će ti biti na tom izbornom predmetu. Dolaziće ti i teže stvari. Probaj u glavi da zamisliš dva steka i onaj feder što se valja s jednog steka na drugi, i probaj da zamisliš kako bi se od toga moglo napraviti rešenje.
[ Sonec @ 17.08.2011. 12:31 ] @
ne znam da li ce ti ovo pomoci, al evo ti ipak, da obnovis gradivo :)

http://poincare.matf.bg.ac.rs/~mirkos/P2.html
http://poincare.matf.bg.ac.rs/~milan/?content=p2_classes