Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
matkec Forumaš(ica)
Pridružen/a: 14. 05. 2010. (16:21:29) Postovi: (8C)16
|
Postano: 22:47 pon, 21. 5. 2018 Naslov: (2018.) 3. zadaća - Publika |
|
|
Ovo je mjesto za obavijesti i pitanja za treću zadaću, tema [b]Publika[/b].
Kao što je napisano u tekstu zadaće, molim da mi [b]ne šaljete mail[/b], nego ovdje postavljate eventualna pitanja. Također, ukoliko nisam dovoljno ažuran, na pitanja i nedoumice možete i međusobno odgovarati.
Također molim da postavljate pitanja koja su [b]usko vezana za zadaću[/b], za ostale tehničke probleme možete otvoriti novu temu.
Testni primjer može sadržavati greške, zato koristite zadnje objavljeni. On se nalazi u nastavku, vidjeti u spoileru (skriven zbog preglednosti):
[spoiler]
[code:1]#include <iostream>
#include <vector>
#include "publika.h"
using namespace std;
int main () {
Publika::velicina = 100;
int baklje[] = {5,19,33,56,78};
Publika::popis_baklji = vector <int> (baklje, baklje + 5 );
Navijac N1("Hinko",6);
Navijac N2("Dinko",29);
Navijac N3("Vinko",56);
Huligan H1("Deba",11);
Huligan H2("Grle",19);
Huligan H3("Bili",41);
Huligan H4("Malizeus",89);
Publika::ispis_publike(); // "Hinko Deba Grle Dinko Bili Vinko Malizeus\n"
H3.uzmi_baklju().uzmi_baklju(); // Bili ide na sjedalo 78 i uzima dvije baklje
Publika::prekid(); // Bili baca jednu baklju
H4.uzmi_baklju(); // Malizeus ide na sjedalo 5 i uzima jednu baklju
N1.sjedni_pored_huligana(); // Hinko vec sjedi pored Malizeusa
Publika::ispis_publike(); //"Malizeus Hinko Deba Grle Dinko Vinko Bili\n"
Publika::prekid(); // Malizeus gubi jednu baklju, Bili baca jednu baklju
H3.uzmi_baklju().pomakni_se(27); // Bili uzima jednu baklju, pa sjeda na sjedalo 7, buduci da su 5 i 6 zauzeta
Publika::ispis_publike(); //"Malizeus Hinko Bili Deba Grle Dinko Vinko\n"
H4.uzmi_baklju(); //Malizeus uzima jednu baklju
Publika::racija(); //Bili gubi sve baklje koje ima, a to je jedna
H4.pomakni_se(1); // Malizeus sjeda na sjedalo 8
Publika::ispis_publike(); //"Hinko Bili Malizeus Deba Grle Dinko Vinko\n"
Publika::prekid(); // Malizeus baca svoju baklju
return 0; // "3vs2\n"
}
[/code:1]
[/spoiler]
Matko Ljulj
Naknadna napomena 1: Izraz "\n" ne označava doslovno kosu crtu i slovo n, nego samo naglasak da tu treba staviti prelazak u drugi red.
Naknadna napomena 2: Za zadaću možete smatrati da će prilikom ulančavanja različitih naredbi prvo doći sve naredbe karakteristične za podklase, a zatim za sve naredbe karakteristične za nadklasu.
Ovo je mjesto za obavijesti i pitanja za treću zadaću, tema Publika.
Kao što je napisano u tekstu zadaće, molim da mi ne šaljete mail, nego ovdje postavljate eventualna pitanja. Također, ukoliko nisam dovoljno ažuran, na pitanja i nedoumice možete i međusobno odgovarati.
Također molim da postavljate pitanja koja su usko vezana za zadaću, za ostale tehničke probleme možete otvoriti novu temu.
Testni primjer može sadržavati greške, zato koristite zadnje objavljeni. On se nalazi u nastavku, vidjeti u spoileru (skriven zbog preglednosti):
Spoiler [hidden; click to show]: |
Kod: | #include <iostream>
#include <vector>
#include "publika.h"
using namespace std;
int main () {
Publika::velicina = 100;
int baklje[] = {5,19,33,56,78};
Publika::popis_baklji = vector <int> (baklje, baklje + 5 );
Navijac N1("Hinko",6);
Navijac N2("Dinko",29);
Navijac N3("Vinko",56);
Huligan H1("Deba",11);
Huligan H2("Grle",19);
Huligan H3("Bili",41);
Huligan H4("Malizeus",89);
Publika::ispis_publike(); // "Hinko Deba Grle Dinko Bili Vinko Malizeus\n"
H3.uzmi_baklju().uzmi_baklju(); // Bili ide na sjedalo 78 i uzima dvije baklje
Publika::prekid(); // Bili baca jednu baklju
H4.uzmi_baklju(); // Malizeus ide na sjedalo 5 i uzima jednu baklju
N1.sjedni_pored_huligana(); // Hinko vec sjedi pored Malizeusa
Publika::ispis_publike(); //"Malizeus Hinko Deba Grle Dinko Vinko Bili\n"
Publika::prekid(); // Malizeus gubi jednu baklju, Bili baca jednu baklju
H3.uzmi_baklju().pomakni_se(27); // Bili uzima jednu baklju, pa sjeda na sjedalo 7, buduci da su 5 i 6 zauzeta
Publika::ispis_publike(); //"Malizeus Hinko Bili Deba Grle Dinko Vinko\n"
H4.uzmi_baklju(); //Malizeus uzima jednu baklju
Publika::racija(); //Bili gubi sve baklje koje ima, a to je jedna
H4.pomakni_se(1); // Malizeus sjeda na sjedalo 8
Publika::ispis_publike(); //"Hinko Bili Malizeus Deba Grle Dinko Vinko\n"
Publika::prekid(); // Malizeus baca svoju baklju
return 0; // "3vs2\n"
}
|
|
Matko Ljulj
Naknadna napomena 1: Izraz "\n" ne označava doslovno kosu crtu i slovo n, nego samo naglasak da tu treba staviti prelazak u drugi red.
Naknadna napomena 2: Za zadaću možete smatrati da će prilikom ulančavanja različitih naredbi prvo doći sve naredbe karakteristične za podklase, a zatim za sve naredbe karakteristične za nadklasu.
Zadnja promjena: matkec; 8:58 pet, 1. 6. 2018; ukupno mijenjano 2 put/a.
|
|
[Vrh] |
|
Ae Forumaš(ica)
Pridružen/a: 27. 05. 2018. (01:36:32) Postovi: (2)16
|
|
[Vrh] |
|
matkec Forumaš(ica)
Pridružen/a: 14. 05. 2010. (16:21:29) Postovi: (8C)16
|
|
[Vrh] |
|
Gost
|
Postano: 16:53 pon, 28. 5. 2018 Naslov: |
|
|
moje je jos “gluplje”, ali bolje pitati nego skitati, sta znaci ciklicki u funkciji pomakni_se, znaci li to da ako dodemo do kraja i ne nađemo slobodno mjesto, da onda trebamo gledati za x mjesta od prvog ili prvo, drugo...
moje je jos “gluplje”, ali bolje pitati nego skitati, sta znaci ciklicki u funkciji pomakni_se, znaci li to da ako dodemo do kraja i ne nađemo slobodno mjesto, da onda trebamo gledati za x mjesta od prvog ili prvo, drugo...
|
|
[Vrh] |
|
Gost
|
Postano: 19:48 pon, 28. 5. 2018 Naslov: |
|
|
Takodjer pitanje: ako pozovemo funkciju racija, i sad neki clan publike, npr. Vinko, je bacio bar jednu baklju i policija mu oduzme inventar. Ako Vinko nakon toga opet uzme bar jednu baklju, ali je nakon prve racije vise ne baci, hoce li mu se tokom drugog poziva racije oduzeti ponovno sav inventar (buduci da je prije prve racije bacio jednu baklju) ili nece (buduci da nakon prve racije uopce nije bacio baklju)?
Takodjer pitanje: ako pozovemo funkciju racija, i sad neki clan publike, npr. Vinko, je bacio bar jednu baklju i policija mu oduzme inventar. Ako Vinko nakon toga opet uzme bar jednu baklju, ali je nakon prve racije vise ne baci, hoce li mu se tokom drugog poziva racije oduzeti ponovno sav inventar (buduci da je prije prve racije bacio jednu baklju) ili nece (buduci da nakon prve racije uopce nije bacio baklju)?
|
|
[Vrh] |
|
matkec Forumaš(ica)
Pridružen/a: 14. 05. 2010. (16:21:29) Postovi: (8C)16
|
Postano: 20:15 pon, 28. 5. 2018 Naslov: |
|
|
[quote="Anonymous"]moje je jos “gluplje”, ali bolje pitati nego skitati, sta znaci ciklicki u funkciji pomakni_se, znaci li to da ako dodemo do kraja i ne nađemo slobodno mjesto, da onda trebamo gledati za x mjesta od prvog ili prvo, drugo...[/quote]
Ajmo najbolje primjerom: Ako imamo tribinu sa sjedalima 0,1,2,3, ..., 9, te imamo samo jednog navijača na poziciji 7, uz poziv pomakni_se(6), nova pozicija navijača je 3, jer se navijač prošetao ovako: 7->8->9->0->1->2->3.
[quote="Anonymous"]Takodjer pitanje: ako pozovemo funkciju racija, i sad neki clan publike, npr. Vinko, je bacio bar jednu baklju i policija mu oduzme inventar. Ako Vinko nakon toga opet uzme bar jednu baklju, ali je nakon prve racije vise ne baci, hoce li mu se tokom drugog poziva racije oduzeti ponovno sav inventar (buduci da je prije prve racije bacio jednu baklju) ili nece (buduci da nakon prve racije uopce nije bacio baklju)?[/quote]
Bit će mu oduzeta ta baklja, jer je bacio barem jednu baklju (i vrijeme prije racije se broji).
I u primjeru je Vinko navijač, pa ne baca baklju. :)
Anonymous (napisa): | moje je jos “gluplje”, ali bolje pitati nego skitati, sta znaci ciklicki u funkciji pomakni_se, znaci li to da ako dodemo do kraja i ne nađemo slobodno mjesto, da onda trebamo gledati za x mjesta od prvog ili prvo, drugo... |
Ajmo najbolje primjerom: Ako imamo tribinu sa sjedalima 0,1,2,3, ..., 9, te imamo samo jednog navijača na poziciji 7, uz poziv pomakni_se(6), nova pozicija navijača je 3, jer se navijač prošetao ovako: 7→8→9→0→1→2→3.
Anonymous (napisa): | Takodjer pitanje: ako pozovemo funkciju racija, i sad neki clan publike, npr. Vinko, je bacio bar jednu baklju i policija mu oduzme inventar. Ako Vinko nakon toga opet uzme bar jednu baklju, ali je nakon prve racije vise ne baci, hoce li mu se tokom drugog poziva racije oduzeti ponovno sav inventar (buduci da je prije prve racije bacio jednu baklju) ili nece (buduci da nakon prve racije uopce nije bacio baklju)? |
Bit će mu oduzeta ta baklja, jer je bacio barem jednu baklju (i vrijeme prije racije se broji).
I u primjeru je Vinko navijač, pa ne baca baklju.
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
matkec Forumaš(ica)
Pridružen/a: 14. 05. 2010. (16:21:29) Postovi: (8C)16
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
Ivek Forumaš(ica)
Pridružen/a: 31. 05. 2018. (12:36:38) Postovi: (1)16
|
Postano: 13:08 čet, 31. 5. 2018 Naslov: |
|
|
Pozdrav,
imam pitanje vezano uz zadacu.
Htio bih sve gledatelje pospremiti u neki vektor tako da kod ispisivanja svih clanova ili nekakvog pretrazivanja imam sve gledatelje pospremljene na jednom mjestu. To onda spremam u ovakav nekakav vektor
[code:1] static vector<Publika*> svi; [/code:1] (to se nalazi u klasi Publika, u .h datoteci). U konstruktoru klase Publika, spremim potrebne varijable i dodam cijelu novu klasu na kraj vektora [i]svi[/i], na nacin [code:1] svi.push_back(this); [/code:1] Zatim pokusam napraviti nesto ovakvo (cisto radi provjere)
[code:1] Publika *P = svi[0];
cout << P->ime << endl; [/code:1] (to isto stoji u konstruktoru)
U main-u stavim npr. [code:1] Publika P1("abc", 22); [/code:1] i pokrenem program. Program javlja gresku [i]Segmentation fault (core dumped)[/i].
Nije mi jasno na koji se nacin pristupa elementima vektora [i]svi[/i], tj. elementima klase [i]svi[i][/i] (ime, pozicija, itd.). Molim vas pomoc u vezi toga :? :oops:
Pozdrav,
imam pitanje vezano uz zadacu.
Htio bih sve gledatelje pospremiti u neki vektor tako da kod ispisivanja svih clanova ili nekakvog pretrazivanja imam sve gledatelje pospremljene na jednom mjestu. To onda spremam u ovakav nekakav vektor
Kod: | static vector<Publika*> svi; | (to se nalazi u klasi Publika, u .h datoteci). U konstruktoru klase Publika, spremim potrebne varijable i dodam cijelu novu klasu na kraj vektora svi, na nacin Kod: | svi.push_back(this); | Zatim pokusam napraviti nesto ovakvo (cisto radi provjere)
Kod: | Publika *P = svi[0];
cout << P->ime << endl; | (to isto stoji u konstruktoru)
U main-u stavim npr. Kod: | Publika P1("abc", 22); | i pokrenem program. Program javlja gresku Segmentation fault (core dumped).
Nije mi jasno na koji se nacin pristupa elementima vektora svi, tj. elementima klase svi[i] (ime, pozicija, itd.). Molim vas pomoc u vezi toga
|
|
[Vrh] |
|
matkec Forumaš(ica)
Pridružen/a: 14. 05. 2010. (16:21:29) Postovi: (8C)16
|
Postano: 16:28 čet, 31. 5. 2018 Naslov: |
|
|
[quote="Anonymous"]U funkciji prekid: Ako huligan ima dva susjeda navijaca, oduzima li mu svaki baklju ili mu se broj baklji smanjuje za jedan?[/quote]
Broj baklji mu se smanjuje za jedan (naravno, ako ima ijednu baklju).
[quote="Ivek"]Pozdrav,
imam pitanje vezano uz zadacu.
...
Molim vas pomoc u vezi toga :? :oops:[/quote]
Kako kod nije potpun, ne mogu baš mnogo pomoći. Također, kako je stvar više tehničke prirode a manje vezana uz zadaću, molim da mi pošaljete mail (s potpunim kodom), ili otvorite novu temu na forumu.
Anonymous (napisa): | U funkciji prekid: Ako huligan ima dva susjeda navijaca, oduzima li mu svaki baklju ili mu se broj baklji smanjuje za jedan? |
Broj baklji mu se smanjuje za jedan (naravno, ako ima ijednu baklju).
Ivek (napisa): | Pozdrav,
imam pitanje vezano uz zadacu.
...
Molim vas pomoc u vezi toga |
Kako kod nije potpun, ne mogu baš mnogo pomoći. Također, kako je stvar više tehničke prirode a manje vezana uz zadaću, molim da mi pošaljete mail (s potpunim kodom), ili otvorite novu temu na forumu.
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
matkec Forumaš(ica)
Pridružen/a: 14. 05. 2010. (16:21:29) Postovi: (8C)16
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
matkec Forumaš(ica)
Pridružen/a: 14. 05. 2010. (16:21:29) Postovi: (8C)16
|
|
[Vrh] |
|
Gost
|
Postano: 22:28 pet, 1. 6. 2018 Naslov: |
|
|
U funkciji pomakni_se(x) sto ako niti jedno mjesto nije slobodno koje je udaljeno barem za x, a ima slobodnih koji su udaljeni za manje od x, npr:
imamo publiku velicine 5, Marko je na sjedalu br1, Vinko na br3, Matko na br4 i Zvonimir na br0, znacili to onda da pri pozivu Marko.pomakni_se(2) on ostaje na svojoj poziciji?
U funkciji pomakni_se(x) sto ako niti jedno mjesto nije slobodno koje je udaljeno barem za x, a ima slobodnih koji su udaljeni za manje od x, npr:
imamo publiku velicine 5, Marko je na sjedalu br1, Vinko na br3, Matko na br4 i Zvonimir na br0, znacili to onda da pri pozivu Marko.pomakni_se(2) on ostaje na svojoj poziciji?
|
|
[Vrh] |
|
matkec Forumaš(ica)
Pridružen/a: 14. 05. 2010. (16:21:29) Postovi: (8C)16
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
matkec Forumaš(ica)
Pridružen/a: 14. 05. 2010. (16:21:29) Postovi: (8C)16
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
|