Započni novu temu Ova tema je zaključana, ne možete da menjate postove ili da odgovarate  [ 537 Posta ]  Idi na stranicu Prethodni  1, 2, 3, 4, 5, 6 ... 22  Sledeća
Autoru Poruka
 Tema posta:
PostPoslato: 06.04.2010. 19:39:59 

Pridružio se: 06.04.2010. 19:34:41
Postovi: 244
Godina: II
Smer: IS
da li se zadaci na kolokvijumu po tezini puno razlikuju od onoga sto smo radili na vezbama i onoga sto je okaceno na sajtu?


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 06.04.2010. 19:55:49 
Korisnikov avatar

Pridružio se: 16.06.2008. 22:32:10
Postovi: 79
Godina: Apsolvent
Smer: IS
A, sta je sa ovim silnim kodom kod sortiranja? Nije valjda da moze da dodje pitanje - Napisi kod za Merge sort, npr ?! :((

_________________
♪♫♪♫♪♫♪♫♪♫♪♫


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 00:50:16 

Pridružio se: 05.04.2010. 12:41:17
Postovi: 63
Godina: Dipl.
Smer: IS
4. Dati su pokazivachi na pochetak dve dvostruko spregnute liste celih brojeva. Napisati metodu CvorDSListe Unija(CvorDSListe p1, CvorDSListe p2) koja ce napraviti trecu listu koja predstavlja uniju prve i druge liste u smislu skupova (sadrzace sve elemente iz obe liste, ali bez ponavljanja).

Jel zna neko da mi objasni kako se radi ovaj zadatak? Plizzzzzzzzzzzzzz :(


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 09:47:11 
Korisnikov avatar

Pridružio se: 17.11.2007. 19:12:54
Postovi: 3863
Godina: Apsolvent
Smer: IS
Na moju veliku zalost, Estela je upravu :(
Ipak mora i sugava teorija na kolokvijumu, a domaci zamenjuju teoriju sa ispita :/ Bzv... Sry za sirenje dezinformacija, pogresno sam ja protumacila te price za proslu godinu, za domace/teoriju...

A i bas im je glupavo ovo.... ispada da je ispit mnogo laksi, nego kolokvijumi. Lepo dobijes 3 zadatka, (od kojih je jedan uvek najosnovniji - JS ili DS lista, jadan pretrazivanje, i poslednji kao malo komplikovaniji), teorijsko zamenjuje domaci, i gotovo.

_________________
What is essential is invisible to the eye.


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 17:30:37 
Korisnikov avatar

Pridružio se: 24.10.2007. 19:55:30
Postovi: 142
Lokacija: Tu ovamo i onamo, D1 najčešće...
Godina: IV
Smer: IS
Evo svi kodovi iz Strukture2010 prebaceni u pdf, za stampanje
http://bit.ly/Strukture2010-pdf-By-LoooD

_________________
Totalno moderan...


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 17:37:14 
Korisnikov avatar

Pridružio se: 04.09.2008. 00:04:23
Postovi: 18
Lokacija: FON
Godina: Padobranac
ево свих задатака са рекурзијом који су рађени на предавању...
http://www.puskice.org/download/struktu ... urzija.pdf
надам се да ће бити од помоћи...

_________________
www.puskice.org
www.puskice.rs
www.puskice.net


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 19:11:47 
Korisnikov avatar

Pridružio se: 22.10.2007. 22:39:12
Postovi: 374
Godina: Apsolvent
Smer: IS
LoooD je napisao:
Evo svi kodovi iz Strukture2010 prebaceni u pdf, za stampanje
http://bit.ly/Strukture2010-pdf-By-LoooD

Baš što nam treba, svaka čast!


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 19:40:37 

Pridružio se: 09.09.2008. 21:02:21
Postovi: 43
Lokacija: Пирот
Godina: II
Smer: IS
Estela je napisao:
1. smo radili na poslednjim predavanjima i na kraju je, nakon vise neuspelih pokusaja, ispalo ovo... :zbun:
Kod:
public int binarnoPretrazivanje (int[] niz, int element, int dg, int gg){
    if (niz.length==0)
       return -1;
    int s=((dg+gg)/2);
       if (niz[s]==element)
          return s;
       if (niz[s]>element)
          return binarnoPretrazivanje(niz, element, dg, s-1);
       else
          return binarnoPretrazivanje(niz, element, s+1, gg);
}

dg - donja granica
gg - gornja granica


Ovo je netacan kod, nema sta tu da se proverava da li je duzina niza jednaka nuli i da se na osnovu toga zakljucuje da se trazeni elemenat ne nalazi u nizu. Tacna verzija se nalazi u profesorovoj skripti.


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 19:58:41 
Moderator
Korisnikov avatar

Pridružio se: 18.10.2008. 17:04:01
Postovi: 3108
Godina: Dipl.
Smer: IS
^ E sad... Tako smo uradili to na predavanju, tj. profesor je rekao da bas tako treba da se radi...


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 21:34:15 

Pridružio se: 06.06.2009. 19:03:30
Postovi: 41
Godina: II
Smer: IS
if (niz.length==0)
return -1;
Ove dve linije koda su napisane za slucaj da je niz prazan (duzina je nula) i samim tim nije netacan.


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 22:49:11 

Pridružio se: 09.09.2008. 21:02:21
Postovi: 43
Lokacija: Пирот
Godina: II
Smer: IS
Dobro, onda mi objasnite sta se desava ako se elemenat ne nalazi u nizu? To u ovom algoritmu uopste nije predvidjeno kao opcija, zato umesto:
Kod:
if (niz.length==0)


treba da bude:

Kod:
public int binarnoPretrazivanje (int[] niz, int element, int dg, int gg){
    if (dg>gg)
       return -1;
    int s=((dg+gg)/2);
       if (niz[s]==element)
          return s;
       if (niz[s]>element)
          return binarnoPretrazivanje(niz, element, dg, s-1);
       else
          return binarnoPretrazivanje(niz, element, s+1, gg);
}


A to da niz bude duzine nula, to je skroz nepotrebno! Konsultuj literaturu, internet, pa ces videti!


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 23:05:57 

Pridružio se: 06.06.2009. 19:03:30
Postovi: 41
Godina: II
Smer: IS
U prvom primeru stvarno nedostaje uslov
if (dg>gg)
return -1;
ali ukoliko imamo deklarisan niz u kome nema ni jedan element logicno je da ni trazeni element nece biti u nizu. Nije bas dobro da se podrazumeva da dati niz nece nikada biti prazan.


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 23:22:00 

Pridružio se: 09.09.2008. 21:02:21
Postovi: 43
Lokacija: Пирот
Godina: II
Smer: IS
Nije potrebna ta provera da li je prazan niz, jer kad ti pozivas metodu
Citiraj:
public int binarnoPretrazivanje (int[] niz, int element, int dg, int gg)


ti onda definises na pocetku za dg=0 a za gg mozes da kazes niz.length-1 i onda ako ti je niz.length=0 tada ce dg biti 0 a gg=-1 i onda ces opet da dobijes kao povratnu vrednost -1!


A i u principu ne postoji neka prakticna primena da koristis binarnu pretragu za niz duzine 0 !


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 23:30:06 
Korisnikov avatar

Pridružio se: 29.09.2008. 17:33:54
Postovi: 1105
Godina: Dipl.
Smer: IS
zadatak iz nekog od prošlih rokova.

data je dvostruko spregnuta lista sa pokazivačem na početak.
prebaciti poslednji čvor na prvo mesto.
nije dozvoljeno kreiranje novih čvorova i menjanje strukture niza.

ako neko sastavi kod neka okači, hvala.


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 23:48:21 
Korisnikov avatar

Pridružio se: 27.09.2007. 14:33:24
Postovi: 928
Godina: Dipl.
Smer: IS
Evo,verovatno će ovo pomoći,
zadatak koji se radi na istu foru, samo je potrebno izvršiti male izmene:

Dat je pokazivac na kraj dvostruko spregnute liste celih brojeva.
Napisati funkciju koja ce prvi cvor prebaciti na poslednje mesto.
Kod:
void PrviNaPoslednje(CvorDListe Kraj)
{
// ako je lista prazna ili ako ima samo 1 element,
// onda se ne radi nista
if (Kraj == null || Kraj.Prethodni == null)
return;
CvorDListe Pom = Kraj;
// premesti pomocni pokazivac na pocetak liste
while(Pom.Prethodni != null)
Pom = Pom.Prethodni;
// pošto se prebacuje prvi element, onda drugi postaje prvi, te mu
// treba podesiti da nema prethodnika
Pom.Sledeci.Prethodni = null;
// prvi ide na poslednje mesto, te on nema sledbenika
Pom.Sledeci = null;
// da bi Pom postao poslednji onda treba da ga postavimo
// nakon trenutno poslednjeg elementa
Pom.Prethodni = Kraj;
Kraj.Sledeci = Pom;
}
// Dat je pokazivac na pocetak dvostruko spregnute liste celih brojeva.
// Napisati funkciju koja ce poslednji cvor prebaciti na prvo mesto.
void PoslednjiNaPrvo(CvorDListe Prvi)
{
// ako je lista prazna ili ako ima samo 1 element,
// onda se ne radi nista
if (Prvi == null || Prvi.Sledeci == null)
return;
CvorDListe Pom = Prvi;
// premesti pomocni pokazivac na kraj liste
while(Pom.Sledeci != null)
Pom = Pom.Sledeci;
// pošto se prebacuje poslednji element, onda pretposlednji postaje
// poslednji, te mu treba podesiti da nema sledbenika
Pom.Prethodni.Sledeci = null;
// poslednji ide na prvo mesto, te on nema prethodnika
Pom.Prethodni = null;
// da bi Pom postao prvi onda treba da ga postavimo
// pre trenutno prvog elementa
Pom.Sledeci = Prvi;
Prvi.Prethodni = Pom;
}

_________________
Stomatološki Fakultet Pančevo


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 07.04.2010. 23:54:42 

Pridružio se: 09.09.2008. 21:02:21
Postovi: 43
Lokacija: Пирот
Godina: II
Smer: IS
Mozda ovako:
Citiraj:
publi class Cvor{
Cvor prethodni, sledeci;
int broj;

public void zameni(Cvor c){

while(c.sledeci!=null) c=c.sledeci; //ide do zadnjeg cvora

int k=c.broj;// pamti vrednost zadnjeg cvora
c=c.prethodni;
c.sledeci=null; //prebacuje se na pretposlednji i razvezuje zadnji

while(c.prethodni!=null) c=c.prethodni; //vraca se na pocetak
c.broj=k;// menja vrednost prvog u vrednost zadnjeg

}
}


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 08.04.2010. 00:15:12 

Pridružio se: 08.04.2009. 20:16:12
Postovi: 140
Godina: IV
Smer: IS
Ne,nego ovako:

public class void prebaci(cvorDSl pocetak){
cvorDSl pom=pocetak
while (pom.sledeci != null)
pom=pocetak.sledeci;

pom.prethodni.sledeci=null; // pretposlednji postaje poslednji
pom.sledeci=pocetak; //stavlja poslednji na pocetak i povezuje ga sa bivsim prvim
pom.prethodni=null; //prethodnik prvog je null
pocetak.prethodni=pom; //povezuje bivsi prvi,sada drugi sa novim prvim,nekada poslednjim
return
}

Mnogo je brze ovako..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 08.04.2010. 00:21:47 
Korisnikov avatar

Pridružio se: 01.07.2008. 16:26:41
Postovi: 548
Godina: IV
Smer: IS
mladenmil je napisao:
Ne,nego ovako:

public class void prebaci(cvorDSl pocetak){
cvorDSl pom=pocetak
while (pom.sledeci != null)
pom=pocetak.sledeci;
pom.prethodni.sledeci=null; // pretposlednji postaje poslednji
pom.sledeci=pocetak; //stavlja poslednji na pocetak i povezuje ga sa bivsim prvim
pom.prethodni=null; //prethodnik prvog je null
pocetak.prethodni=pom; //povezuje bivsi prvi,sada drugi sa novim prvim,nekada poslednjim
return
}

Mnogo je brze ovako..

u while petlji pom=pom.sledeci, ovako nece da ti se pomera pom uopste.
I ja mislim da puca program ako je lista prazna ili ako ima jedan element zbog ovih .prethodni.sledeci.
Za ostalo se slazem.


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 08.04.2010. 00:33:07 

Pridružio se: 09.09.2008. 21:02:21
Postovi: 43
Lokacija: Пирот
Godina: II
Smer: IS
Kolega mladenmil, kolega Doca je rekao:
Citiraj:
nije dozvoljeno kreiranje novih čvorova i menjanje strukture niza.

a ti koristis novi CvorDSL pom . U mom resenju sam prevideo jednu sitnicu, ustvari sad se bunim da li treba zadnji clan da se uveze ispred prvog ili samo da se prepise umesto prvog.

Ako treba da ga uveze ispred prvog tako da prvi postane drugi i tako redom onda bi mozda jedno od resenja bilo :
Kod:
publi class Cvor{
Cvor prethodni, sledeci;
int broj;

public void zameni(Cvor c){

while(c.sledeci!=null) c=c.sledeci; //ide do zadnjeg cvora

int k=c.broj;// pamti vrednost zadnjeg cvora
c=c.prethodni;
c.sledeci=null; //prebacuje se na pretposlednji i razvezuje zadnji

while(c.prethodni!=null) c=c.prethodni; //vraca se na pocetak
c.prethodni=c;//dodaje novi element ispred prvog tj c pokazuje na element ispred njega
c..prethodni.sledeci=c;//namesta pokazivac  sada novog tj prvog elementa na drugi, tj c ovo sam malopre //zaboravio pa sam se vratio
c=c.prethodni;//namesta pokazivac na prvi elemenat u nizu
c.broj=k;// menja vrednost prvog u vrednost zadnjeg

}
}



Poslednji put menjao akrasic dana 08.04.2010. 02:03:59, izmenjena samo jedanput

Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 08.04.2010. 00:48:40 
Korisnikov avatar

Pridružio se: 01.07.2008. 16:26:41
Postovi: 548
Godina: IV
Smer: IS
^Sta je cvor c? Zasto bi metoda imala ulazne argumente, kad treba samo da se premeste dva cvora, ne dodaje se nista novo? U svakom slucaju mora da postoji jedan novi cvor pomocu koga moze da se dodje do poslednjeg cvora, razlika je u tome sto je tebi taj cvor ulaz, a mi smo ga kreirali u metodi.


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 08.04.2010. 01:02:23 

Pridružio se: 08.04.2009. 20:16:12
Postovi: 140
Godina: IV
Smer: IS
akrasic je napisao:
Kolega mladenmil, kolega Doca je rekao:
Citiraj:
nije dozvoljeno kreiranje novih čvorova i menjanje strukture niza.

a ti koristis novi CvorDSL pom . U mom resenju sam prevideo jednu sitnicu, ustvari sad se bunim da li treba zadnji clan da se uveze ispred prvog ili samo da se prepise umesto prvog.

[/code]



To nije novi cvor nego pokazivac ,to nije isto.. Nigde nema new cvorDSL..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 08.04.2010. 01:08:15 

Pridružio se: 09.09.2008. 21:02:21
Postovi: 43
Lokacija: Пирот
Godina: II
Smer: IS
Cvor je klasa dvostruko spregnute liste ja sam je nazvao Cvor, ti mozes da je nazoves i "Mika" ako hoces, to je najmanji problem. I to nema veze, ne mora metoda da ima nikakve ulazne argumente, manje vise sve zavisi od programa iz koga se poziva i klase . Koliko sam ja razumeo kolegu Docu ne sme da se pravi novi Cvor, pa zato ja kreiram samo jednu promenljivu tipa int u kojoj cuvam vrednost zadnjeg elementa liste i posle se vracamo na prvi i to je to nema novih cvorova. Naravno da to nije najefikasniji nacin, ali uz ovaj uslov to bi otprilike bilo to!


ps: Pa dobro nije kreiran novi objekat, ali je ipak kreirana nova referenca, neka kolega kaze da li smeju da se kreiraju reference?


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 08.04.2010. 01:16:14 

Pridružio se: 08.04.2009. 20:16:12
Postovi: 140
Godina: IV
Smer: IS
I da pogresio sam u while petlji treba pom=pom.sledeci,greska u kucanju..
A treba ulazni argument,zato sto nam je potreban pokazivac na prvi cvor liste iz zadatka..

Citiram sebe :) ' Nigde nema new cvorDSL'..
Kljucna rec je new,sto ce reci da se ne kreira novi objekat tipa cvorDSl,Mika,Laza ili kako god..
Ja samo kreiram novi pokazivac na stari cvor,prvi cvor u ovom slucaju..
Valjda me razumes,ne umem drugacije da ti objasnim..


Poslednji put menjao mladenmil dana 08.04.2010. 01:25:42, izmenjena samo jedanput

Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 08.04.2010. 01:17:01 
Korisnikov avatar

Pridružio se: 01.07.2008. 16:26:41
Postovi: 548
Godina: IV
Smer: IS
Ja mislim da moze da se koristi pom jer to jeste u stvari novi objekat tipa Cvor, ali je samo stvar u tome da smo mi to zvali pokazivac, a ne cvor i mislim da nisu mislili na to kad su rekli da ne sme da se pravi novi cvor. Ovo tvoje je u redu,ako ti neko kaze da imas c kao ulaz,ali nemas, da imas rekli bi u zadatku.
Pokazivac na prvi cvor imas pre toga u klasi, to nam nikad nije bio ulas za metodu.


Poslednji put menjao makitod dana 08.04.2010. 01:19:26, izmenjena samo jedanput

Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 08.04.2010. 01:18:38 

Pridružio se: 08.04.2009. 20:16:12
Postovi: 140
Godina: IV
Smer: IS
Rekli su u zadatku da je dat pokazivac na prvi cvor liste,sto znaci da on predstavlja ulazni argument..

makitod je napisao:
Ja mislim da moze da se koristi pom jer to jeste u stvari novi objekat tipa Cvor, ali je samo stvar u tome da smo mi to zvali pokazivac, a ne cvor i mislim da nisu mislili na to kad su rekli da ne sme da se pravi novi cvor. Ovo tvoje je u redu,ako ti neko kaze da imas c kao ulaz,ali nemas, da imas rekli bi u zadatku.
Pokazivac na prvi cvor imas pre toga u klasi, to nam nikad nije bio ulas za metodu.


Pom nije novi objekat..
To je promenljiva koja predstavlja pokazivac na objekat tipa cvorDSl..
Novi objekat se kreira iskjucivo naredbom new..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Ova tema je zaključana, ne možete da menjate postove ili da odgovarate  [ 537 Posta ]  Idi na stranicu Prethodni  1, 2, 3, 4, 5, 6 ... 22  Sledeća


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 17 gostiju


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
Copyleft FONForum 2001-2014 | Powered by phpBB © phpBB Group