Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Objavljena je prva zadaća (studij)
WWW:
Idite na 1, 2, 3  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji diplomskih i starih studija -> Objektno programiranje (C++)
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
vinko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 08. 2006. (23:08:00)
Postovi: (1A8)16
Spol: muško
Sarma = la pohva - posuda
69 = 87 - 18
Lokacija: PMF-MO 214

PostPostano: 2:43 uto, 8. 4. 2008    Naslov: Objavljena je prva zadaća Citirajte i odgovorite

Objavljena je prva zadaća:
http://web.math.hr/~vpetrice/OP/Zadaca%2001.htm

Možda je malo teža, pa će nositi 10 bodova.

Rok za predaju je 14 dana. Predaje se na moju e-mail adresu.

Bilo bi dobro da je što prije pogledate, pa pitate je li dovoljno jasan tekst (budući da sam ga dosta oskudno napisao), ali se nadam da ćete sve biti jasno kada proučite primjer test-programa.

Zadaća i nije baš trivijalna, pa bi bilo dobro da je što ranije pogledate i pitate ako vam je nejasna ili preteška.

Vinko Petričević
Objavljena je prva zadaća:
http://web.math.hr/~vpetrice/OP/Zadaca%2001.htm

Možda je malo teža, pa će nositi 10 bodova.

Rok za predaju je 14 dana. Predaje se na moju e-mail adresu.

Bilo bi dobro da je što prije pogledate, pa pitate je li dovoljno jasan tekst (budući da sam ga dosta oskudno napisao), ali se nadam da ćete sve biti jasno kada proučite primjer test-programa.

Zadaća i nije baš trivijalna, pa bi bilo dobro da je što ranije pogledate i pitate ako vam je nejasna ili preteška.

Vinko Petričević


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Gost






PostPostano: 20:17 sri, 9. 4. 2008    Naslov: pitanja vezana uz zadaću Citirajte i odgovorite

Što trebaju vraćati funkcije poveži i ukloni vezu?
Što je drugi element para u povratnom vektoru funkcije najkraciPutevi ? pretpostavljam udaljenost gradova?
Što trebaju vraćati funkcije poveži i ukloni vezu?
Što je drugi element para u povratnom vektoru funkcije najkraciPutevi ? pretpostavljam udaljenost gradova?


[Vrh]
vinko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 08. 2006. (23:08:00)
Postovi: (1A8)16
Spol: muško
Sarma = la pohva - posuda
69 = 87 - 18
Lokacija: PMF-MO 214

PostPostano: 20:48 sri, 9. 4. 2008    Naslov: Re: pitanja vezana uz zadaću Citirajte i odgovorite

[quote="Anonymous"]Što trebaju vraćati funkcije poveži i ukloni vezu?
Što je drugi element para u povratnom vektoru funkcije najkraciPutevi ? pretpostavljam udaljenost gradova?[/quote]

trebaju vraćati staru udaljenost tih gradova, dakle -1 ako nisu bili povezani, 0 ako se radi o istom gradu, ili postavljenu udaljenost ako su povezani

da, drugi element treba biti najkraća udaljenost ta dva grada. Kod te funkcije treba vratiti samo one gradove koji su povezani s danim gradom (dakle, bez ovih 0 i -1)
Anonymous (napisa):
Što trebaju vraćati funkcije poveži i ukloni vezu?
Što je drugi element para u povratnom vektoru funkcije najkraciPutevi ? pretpostavljam udaljenost gradova?


trebaju vraćati staru udaljenost tih gradova, dakle -1 ako nisu bili povezani, 0 ako se radi o istom gradu, ili postavljenu udaljenost ako su povezani

da, drugi element treba biti najkraća udaljenost ta dva grada. Kod te funkcije treba vratiti samo one gradove koji su povezani s danim gradom (dakle, bez ovih 0 i -1)


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Mad Wilson
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 05. 2006. (22:51:14)
Postovi: (121)16
Sarma = la pohva - posuda
23 = 34 - 11

PostPostano: 20:52 sri, 9. 4. 2008    Naslov: Citirajte i odgovorite

Sto radi funkcija [u]povezi[/u] pozvana na vec povezanim gradovima. Postavlja novu vrijednost i vraca staru?
Sto radi funkcija povezi pozvana na vec povezanim gradovima. Postavlja novu vrijednost i vraca staru?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vinko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 08. 2006. (23:08:00)
Postovi: (1A8)16
Spol: muško
Sarma = la pohva - posuda
69 = 87 - 18
Lokacija: PMF-MO 214

PostPostano: 22:32 sri, 9. 4. 2008    Naslov: Citirajte i odgovorite

[quote="Mad Wilson"]Sto radi funkcija [u]povezi[/u] pozvana na vec povezanim gradovima. Postavlja novu vrijednost i vraca staru?[/quote]

ne radi ništa. mislim da piše da se to neće desiti.

EDIT: Oprostite, prvo sam mislio da vraća staru udaljenost (a postavi manju od stare i nove), a poslije sam se predomislio, pa stavio u tekst da se to neće dogoditi. To se dakle neće dogoditi, pa je možete staviti void.

Tijekom sutrašnjeg dana ću napisati tekst dosta detaljnije, te se nadam da će se sva ta pitanja razjasniti. Stavit ću obavijest kada ispravim tekst.
Mad Wilson (napisa):
Sto radi funkcija povezi pozvana na vec povezanim gradovima. Postavlja novu vrijednost i vraca staru?


ne radi ništa. mislim da piše da se to neće desiti.

EDIT: Oprostite, prvo sam mislio da vraća staru udaljenost (a postavi manju od stare i nove), a poslije sam se predomislio, pa stavio u tekst da se to neće dogoditi. To se dakle neće dogoditi, pa je možete staviti void.

Tijekom sutrašnjeg dana ću napisati tekst dosta detaljnije, te se nadam da će se sva ta pitanja razjasniti. Stavit ću obavijest kada ispravim tekst.


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
nana
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 11. 2005. (12:24:35)
Postovi: (2AD)16
Spol: žensko
Sarma = la pohva - posuda
95 = 158 - 63

PostPostano: 9:25 čet, 10. 4. 2008    Naslov: Citirajte i odgovorite

A jel bi moglo da produzimo rok do petka il subote taj tjedan buduci da su nam kolokviji u pon i sri?

Hvala.
A jel bi moglo da produzimo rok do petka il subote taj tjedan buduci da su nam kolokviji u pon i sri?

Hvala.


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
vinko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 08. 2006. (23:08:00)
Postovi: (1A8)16
Spol: muško
Sarma = la pohva - posuda
69 = 87 - 18
Lokacija: PMF-MO 214

PostPostano: 10:19 čet, 10. 4. 2008    Naslov: Citirajte i odgovorite

[quote="nana"]A jel bi moglo da produzimo rok do petka il subote taj tjedan buduci da su nam kolokviji u pon i sri?

Hvala.[/quote]
Budući da je tekst pomalo nejasan, može, bit će onda do nedjelje 27.4. u 23:59
nana (napisa):
A jel bi moglo da produzimo rok do petka il subote taj tjedan buduci da su nam kolokviji u pon i sri?

Hvala.

Budući da je tekst pomalo nejasan, može, bit će onda do nedjelje 27.4. u 23:59


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
vinko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 08. 2006. (23:08:00)
Postovi: (1A8)16
Spol: muško
Sarma = la pohva - posuda
69 = 87 - 18
Lokacija: PMF-MO 214

PostPostano: 0:38 pet, 11. 4. 2008    Naslov: Citirajte i odgovorite

[quote="vinko"]Budući da je tekst pomalo nejasan, može, bit će onda do nedjelje 27.4. u 23:59[/quote]

Tekst zadaće je napisan detaljnije. Ispričavam se što je prva verzija bila nejasna.
vinko (napisa):
Budući da je tekst pomalo nejasan, može, bit će onda do nedjelje 27.4. u 23:59


Tekst zadaće je napisan detaljnije. Ispričavam se što je prva verzija bila nejasna.


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Mad Wilson
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 05. 2006. (22:51:14)
Postovi: (121)16
Sarma = la pohva - posuda
23 = 34 - 11

PostPostano: 17:51 pet, 11. 4. 2008    Naslov: Citirajte i odgovorite

Moramo li raditi provjere za:
- dodavanje istog grada u istu mrezu dvaput?
- poziva [u]ukloni_vezu[/u] na nepostojecim gradovima (nisu u mrezi) i na nepovezanim gradovima?
- poziva [u]getUdaljenost[/u] na nepostojecim gradovima?
Ako da, kako reagirati?

Sto vraca [u]povezi[/u] kad se grad prvi put povezuje (ne postoji stara vrijednost)? Samo novu vrijednost?
Moramo li raditi provjere za:
- dodavanje istog grada u istu mrezu dvaput?
- poziva ukloni_vezu na nepostojecim gradovima (nisu u mrezi) i na nepovezanim gradovima?
- poziva getUdaljenost na nepostojecim gradovima?
Ako da, kako reagirati?

Sto vraca povezi kad se grad prvi put povezuje (ne postoji stara vrijednost)? Samo novu vrijednost?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vinko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 08. 2006. (23:08:00)
Postovi: (1A8)16
Spol: muško
Sarma = la pohva - posuda
69 = 87 - 18
Lokacija: PMF-MO 214

PostPostano: 17:57 pet, 11. 4. 2008    Naslov: Citirajte i odgovorite

[quote="Mad Wilson"]Moramo li raditi provjere za:
- dodavanje istog grada u istu mrezu dvaput?
- poziva [u]ukloni_vezu[/u] na nepostojecim gradovima (nisu u mrezi) i na nepovezanim gradovima?
- poziva [u]getUdaljenost[/u] na nepostojecim gradovima?
Ako da, kako reagirati?

Sto vraca [u]povezi[/u] kad se grad prvi put povezuje (ne postoji stara vrijednost)? Samo novu vrijednost?[/quote]

Da. Ako ste sve dobro postavili, mislim da to ne bi trebao biti nikakav problem.
Dakle:
- ako je grad/mreža već dodan, novim dodavanjem se ništa ne mijenja.
- ako pozovemo [i]ukloni_vezu[/i] na nepovezanim(nepostojećim) gradovima vraća -1. [i]get_udaljenost[/i] isto (i [u]ne dodaje[/u] ih u mrežu)
- [i]povezi[/i] vraća -1 ako nisu bili povezani
Mad Wilson (napisa):
Moramo li raditi provjere za:
- dodavanje istog grada u istu mrezu dvaput?
- poziva ukloni_vezu na nepostojecim gradovima (nisu u mrezi) i na nepovezanim gradovima?
- poziva getUdaljenost na nepostojecim gradovima?
Ako da, kako reagirati?

Sto vraca povezi kad se grad prvi put povezuje (ne postoji stara vrijednost)? Samo novu vrijednost?


Da. Ako ste sve dobro postavili, mislim da to ne bi trebao biti nikakav problem.
Dakle:
- ako je grad/mreža već dodan, novim dodavanjem se ništa ne mijenja.
- ako pozovemo ukloni_vezu na nepovezanim(nepostojećim) gradovima vraća -1. get_udaljenost isto (i ne dodaje ih u mrežu)
- povezi vraća -1 ako nisu bili povezani


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Mad Wilson
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 05. 2006. (22:51:14)
Postovi: (121)16
Sarma = la pohva - posuda
23 = 34 - 11

PostPostano: 19:29 pet, 11. 4. 2008    Naslov: Citirajte i odgovorite

Smije li [u]veze_grad[/u] imati javne metode ili je to samo data holder?

Sto vraca funkcija [u]najkraciPutevi[/u] ako grad nije u mrezi? Prazan vektor?
Smije li veze_grad imati javne metode ili je to samo data holder?

Sto vraca funkcija najkraciPutevi ako grad nije u mrezi? Prazan vektor?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vinko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 08. 2006. (23:08:00)
Postovi: (1A8)16
Spol: muško
Sarma = la pohva - posuda
69 = 87 - 18
Lokacija: PMF-MO 214

PostPostano: 19:56 pet, 11. 4. 2008    Naslov: Citirajte i odgovorite

[quote="Mad Wilson"]Smije li [u]veze_grad[/u] imati javne metode ili je to samo data holder?

Sto vraca funkcija [u]najkraciPutevi[/u] ako grad nije u mrezi? Prazan vektor?[/quote]
U svaku strukturu/klasu smijete dodavati funkcije koje god vam odgovaraju.
Mad Wilson (napisa):
Smije li veze_grad imati javne metode ili je to samo data holder?

Sto vraca funkcija najkraciPutevi ako grad nije u mrezi? Prazan vektor?

U svaku strukturu/klasu smijete dodavati funkcije koje god vam odgovaraju.


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
chiica
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 03. 11. 2006. (20:13:17)
Postovi: (3D)16
Spol: žensko
Sarma = la pohva - posuda
12 = 13 - 1

PostPostano: 13:29 sub, 12. 4. 2008    Naslov: Citirajte i odgovorite

imam recimo ovaj kod unutar jedne const funkcije klase 'grad':

[code:1]map<int, int> a;
map<int, int>::iterator i;
i=a.begin();[/code:1]

i javlja greske u tom 3. retku. "`grad::a' cannot appear in a constant-expression, a function call cannot appear in a constant-expression " na primjer.

u cemu je problem? u tome sto je funkcija const, ili ne smijem koristiti iterator ili sto..?[/code]
imam recimo ovaj kod unutar jedne const funkcije klase 'grad':

Kod:
map<int, int> a;
         map<int, int>::iterator i;
         i=a.begin();


i javlja greske u tom 3. retku. "`grad::a' cannot appear in a constant-expression, a function call cannot appear in a constant-expression " na primjer.

u cemu je problem? u tome sto je funkcija const, ili ne smijem koristiti iterator ili sto..?[/code]


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice MSNM
Mad Wilson
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 05. 2006. (22:51:14)
Postovi: (121)16
Sarma = la pohva - posuda
23 = 34 - 11

PostPostano: 14:00 sub, 12. 4. 2008    Naslov: Citirajte i odgovorite

Funkcija je const, pa koristi const_iterator.
Funkcija je const, pa koristi const_iterator.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
chiica
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 03. 11. 2006. (20:13:17)
Postovi: (3D)16
Spol: žensko
Sarma = la pohva - posuda
12 = 13 - 1

PostPostano: 14:41 sub, 12. 4. 2008    Naslov: Citirajte i odgovorite

probala, isti problem ostaje...
probala, isti problem ostaje...


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice MSNM
vinko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 08. 2006. (23:08:00)
Postovi: (1A8)16
Spol: muško
Sarma = la pohva - posuda
69 = 87 - 18
Lokacija: PMF-MO 214

PostPostano: 14:49 sub, 12. 4. 2008    Naslov: Citirajte i odgovorite

[quote="chiica"]imam recimo ovaj kod unutar jedne const funkcije klase 'grad':

[code:1]map<int, int> a;
map<int, int>::iterator i;
i=a.begin();[/code:1]

i javlja greske u tom 3. retku. "`grad::a' cannot appear in a constant-expression, a function call cannot appear in a constant-expression " na primjer.

u cemu je problem? u tome sto je funkcija const, ili ne smijem koristiti iterator ili sto..?[/code][/quote]

sa const_iteratorom bi moralo raditi ako je kôd točno takav.

da li je mapa element klase?

ako je (i ako je neka kompliciranije, a ne map<int,int>) probajte ju staviti kao mutabile element klase. Ne kažem da je to dobro rješenje, ali smo onda našli grešku... onda bi možda mapa trebala biti neštko kao
map<const ..., ...>
chiica (napisa):
imam recimo ovaj kod unutar jedne const funkcije klase 'grad':

Kod:
map<int, int> a;
         map<int, int>::iterator i;
         i=a.begin();


i javlja greske u tom 3. retku. "`grad::a' cannot appear in a constant-expression, a function call cannot appear in a constant-expression " na primjer.

u cemu je problem? u tome sto je funkcija const, ili ne smijem koristiti iterator ili sto..?[/code]


sa const_iteratorom bi moralo raditi ako je kôd točno takav.

da li je mapa element klase?

ako je (i ako je neka kompliciranije, a ne map<int,int>) probajte ju staviti kao mutabile element klase. Ne kažem da je to dobro rješenje, ali smo onda našli grešku... onda bi možda mapa trebala biti neštko kao
map<const ..., ...>


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Mad Wilson
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 05. 2006. (22:51:14)
Postovi: (121)16
Sarma = la pohva - posuda
23 = 34 - 11

PostPostano: 17:50 ned, 13. 4. 2008    Naslov: Citirajte i odgovorite

OK. Stavljam test [b]main.cpp[/b] koji je meni pomogao da otklonim mnoge greske. Main je poduzi, no takav je zadatak; ima puno funkcija. Uz main stavljam i output, jer je s obzirom na velicinu spretnije usporediti dva [b]out[/b] file-a (sa [b]fc[/b]-om u konzoli na primjer) nego gledati red po red.

Uglavnom, grafove mreza sam radio napamet, pa ako netko dobije isti output za najkrace puteve, neka mi svakako javi; to nam udvostrucuje sanse da smo dijkstriju dobro implementirali. :)


P.S. PITANJE; getUdaljenost na istom gradu vraca -1 ili 0? Ja sam radio da pretpostavio da vraca -1, jer grad nije povezan sam sa sobom (ne postoji put).


EDIT: promjenio sam out.txt; ispisivala se jedna poruka koju sam ostavio u programu. Uglavnom sad sam ju maknuo.

EDIT2: Jao, pa pise u zadatku odgovor na pitanje, skriven iznad svih funkcija. My mistake. :oops: Ispravljeno.

[color=red][b]EDIT3[/b]:[/color] Postoji [url=http://degiorgi.math.hr/forum/viewtopic.php?p=98234#98234][b]novi stari out[/b][/url].
OK. Stavljam test main.cpp koji je meni pomogao da otklonim mnoge greske. Main je poduzi, no takav je zadatak; ima puno funkcija. Uz main stavljam i output, jer je s obzirom na velicinu spretnije usporediti dva out file-a (sa fc-om u konzoli na primjer) nego gledati red po red.

Uglavnom, grafove mreza sam radio napamet, pa ako netko dobije isti output za najkrace puteve, neka mi svakako javi; to nam udvostrucuje sanse da smo dijkstriju dobro implementirali. Smile


P.S. PITANJE; getUdaljenost na istom gradu vraca -1 ili 0? Ja sam radio da pretpostavio da vraca -1, jer grad nije povezan sam sa sobom (ne postoji put).


EDIT: promjenio sam out.txt; ispisivala se jedna poruka koju sam ostavio u programu. Uglavnom sad sam ju maknuo.

EDIT2: Jao, pa pise u zadatku odgovor na pitanje, skriven iznad svih funkcija. My mistake. Embarassed Ispravljeno.

EDIT3: Postoji novi stari out.



_________________
1 2 3 4


Zadnja promjena: Mad Wilson; 13:23 sri, 23. 4. 2008; ukupno mijenjano 7 put/a.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
chiica
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 03. 11. 2006. (20:13:17)
Postovi: (3D)16
Spol: žensko
Sarma = la pohva - posuda
12 = 13 - 1

PostPostano: 20:37 pon, 14. 4. 2008    Naslov: Citirajte i odgovorite

neke probleme rjesila, a novi se javili :)

imam mapu, trebam se kretati po njoj pomocu iteratora i pritom brisati neke elemente mape. u vjezbama (STL) pise za vektor da treba paziti, da se pritom znaju pobrkati iteratori, i pise da koristimo:

[code:1]it=v.erase(it);[/code:1]

jer erase vraca pokazivac na element poslije onoga koji je obrisao.

pokusala sam to isto s mapom, ali mi javlja gresku, pa sam malo googlala i na nekim mjestima pise da map::erase vraca iterator, a negdje da vraca void.

uglavnom, koji mi je siguran nacin za brisanje elemenata iz mape?
neke probleme rjesila, a novi se javili Smile

imam mapu, trebam se kretati po njoj pomocu iteratora i pritom brisati neke elemente mape. u vjezbama (STL) pise za vektor da treba paziti, da se pritom znaju pobrkati iteratori, i pise da koristimo:

Kod:
it=v.erase(it);


jer erase vraca pokazivac na element poslije onoga koji je obrisao.

pokusala sam to isto s mapom, ali mi javlja gresku, pa sam malo googlala i na nekim mjestima pise da map::erase vraca iterator, a negdje da vraca void.

uglavnom, koji mi je siguran nacin za brisanje elemenata iz mape?


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice MSNM
m00nblade
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 10. 2005. (13:26:10)
Postovi: (54)16
Spol: muško
Sarma = la pohva - posuda
20 = 20 - 0

PostPostano: 20:56 pon, 14. 4. 2008    Naslov: Citirajte i odgovorite

Pogledaj [url=http://www.cplusplus.com/reference/stl/map/erase.html]ovdje[/url], mozda ti pomogne

kad za map::erase posaljes iterator, onda vraca void...
ako brises po vrijednosti kljuca, onda vraca broj obrisanih elemenata, sto je kod mape 1 ili 0...

mislim da ti je najsigurnije brisati po vrijednosti kljuca, na primjer:
[code:1]
map <tip1, tip2>::iterator mi;
for (mi = mapa.begin(); mi != mapa.end(); mi++)
if (uvjet)
mapa.erase (mi->first);

[/code:1]

mislim da bi ovako trebalo raditi :?
Pogledaj ovdje, mozda ti pomogne

kad za map::erase posaljes iterator, onda vraca void...
ako brises po vrijednosti kljuca, onda vraca broj obrisanih elemenata, sto je kod mape 1 ili 0...

mislim da ti je najsigurnije brisati po vrijednosti kljuca, na primjer:
Kod:

map <tip1, tip2>::iterator mi;
for (mi = mapa.begin(); mi != mapa.end(); mi++)
    if (uvjet)
        mapa.erase (mi->first);



mislim da bi ovako trebalo raditi Confused



_________________
Real programmers don't comment their code. If it was hard to write, it should be hard to read.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
vinko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 08. 2006. (23:08:00)
Postovi: (1A8)16
Spol: muško
Sarma = la pohva - posuda
69 = 87 - 18
Lokacija: PMF-MO 214

PostPostano: 21:23 pon, 14. 4. 2008    Naslov: Citirajte i odgovorite

[quote="m00nblade"]Pogledaj [url=http://www.cplusplus.com/reference/stl/map/erase.html]ovdje[/url], mozda ti pomogne

kad za map::erase posaljes iterator, onda vraca void...
ako brises po vrijednosti kljuca, onda vraca broj obrisanih elemenata, sto je kod mape 1 ili 0...

mislim da ti je najsigurnije brisati po vrijednosti kljuca, na primjer:
[code:1]
map <tip1, tip2>::iterator mi;
for (mi = mapa.begin(); mi != mapa.end(); mi++)
if (uvjet)
mapa.erase (mi->first);

[/code:1]

mislim da bi ovako trebalo raditi :?[/quote]

Ja mislim da taj kod ne bi trebao raditi. Napravio bi istu grešku kao i mapa.erase(mi), koja će nekad skršiti program (jer se sljedeći ++mi nemora dobro izvršiti), a nekad ne. Zavisi o više stvari, ali općenito nije dobro.

Mogli bi raditi:
[code:1]map <tip1, tip2>::iterator mi;
for (mi = mapa.begin(); mi != mapa.end(); )
if (uvjet)
mapa.erase (mi++);
else ++mi;[/code:1]

Iako nije tako u svim verzijama, u STLu na VSu mapa.erase(iterator) vraća iterator na sljedeći element, pa bi mogli koristiti
[code:1]for (mi = mapa.begin(); mi != mapa.end(); )
if (uvjet)
mi = mapa.erase (mi);
else ++mi;[/code:1]
m00nblade (napisa):
Pogledaj ovdje, mozda ti pomogne

kad za map::erase posaljes iterator, onda vraca void...
ako brises po vrijednosti kljuca, onda vraca broj obrisanih elemenata, sto je kod mape 1 ili 0...

mislim da ti je najsigurnije brisati po vrijednosti kljuca, na primjer:
Kod:

map <tip1, tip2>::iterator mi;
for (mi = mapa.begin(); mi != mapa.end(); mi++)
    if (uvjet)
        mapa.erase (mi->first);



mislim da bi ovako trebalo raditi Confused


Ja mislim da taj kod ne bi trebao raditi. Napravio bi istu grešku kao i mapa.erase(mi), koja će nekad skršiti program (jer se sljedeći ++mi nemora dobro izvršiti), a nekad ne. Zavisi o više stvari, ali općenito nije dobro.

Mogli bi raditi:
Kod:
map <tip1, tip2>::iterator mi;
for (mi = mapa.begin(); mi != mapa.end(); )
    if (uvjet)
        mapa.erase (mi++);
    else ++mi;


Iako nije tako u svim verzijama, u STLu na VSu mapa.erase(iterator) vraća iterator na sljedeći element, pa bi mogli koristiti
Kod:
for (mi = mapa.begin(); mi != mapa.end(); )
    if (uvjet)
        mi = mapa.erase (mi);
    else ++mi;


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji diplomskih i starih studija -> Objektno programiranje (C++) Vremenska zona: GMT + 01:00.
Idite na 1, 2, 3  Sljedeće
Stranica 1 / 3.

 
Forum(o)Bir:  
Možete otvarati nove teme.
Možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan