Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
JV Forumaš(ica)
Pridružen/a: 07. 02. 2011. (11:13:19) Postovi: (5C)16
|
Postano: 13:47 sri, 9. 5. 2012 Naslov: 3. zadaća - često postavljena pitanja |
|
|
Ovdje ću stavljati neka važnija pitanja koja dobijem u mailovima i greške koje se potkradu u zadacima (kodu), a mislim da će pomoći svima razjasniti neke stvari.
[b]FAQ:[/b]
[b]Q1:[/b] Da li se smiju upotrebljavat globalne varijable?
[b]A1:[/b] Mogu se upotrebiti (u zadatku ne piše eksplicitno da se ne smiju), ali uvijek postoji mogućnost da tada vaš program neće raditi (npr. name collision). Poanta zadatka je bila da se sve nalazi unutar klasa.
[b]Q2:[/b] Da li treba provjeravati ispravnost parametara koji se proslijeđuju funkcijama, paziti da uvijek postoje stvoreni objekti određenog tipa, itd...
[b]A2:[/b] Ne treba paziti na takve stvari.
[b]Q3:[/b] Što treba vratiti u funkciji [tt]static vozilo& brzeVozilo(vozilo &voz1, vozilo &voz2)[/tt] u slučaju da vozila imaju istu snogu motora.
[b]A3:[/b] Vratite voz1.
[b]Q4:[/b] Da li funkcija [tt]cijenaNadogradnje[/tt] brzinu i ram postavlja na novu brzinu i novi ram?
[b]A4:[/b] NE. Računalo ostaje nepromijenjeno.
[color=red][b]GREŠKE:[/b][/color]
[b]1.[/b]
U zadatku NAMJESTAJ kod funkcija [tt]vrijednostMaterijala[/tt] piše [color=red]10 kn/kg, 5 kn/kg i 20 kn/kg[/color], a trebalo bi pisati [color=green]100 kn/kg, 50 kn/kg, 200 kn/kg[/color].
[b]2.[/b]
U zadatku NAMJESTAJ u kodu piše:
[tt]A.spustiCijenu(1500);
jeftinoDrvo = namjestaj::[color=red]nadjiNajeftiniji[/color]("drvo");[/tt]
a treba pisati
[tt]A.spustiCijenu(1500);
jeftinoDrvo = namjestaj::nadji[color=green]Najjeftiniji[/color]("drvo");[/tt]
[b]3.[/b]
U zadatku RACUNALO piše
[tt]static racunalo& najbrzeRacunalo();
Vraća referencu na najbrže računalo (s obzirom na sva [color=red]vozila [/color]koja trenutno postoje u programu)...[/tt]
a treba pisati
[tt]static racunalo& najbrzeRacunalo();
Vraća referencu na najbrže računalo (s obzirom na sva [color=green]računala [/color]koja trenutno postoje u programu)...[/tt]
[b]4.[/b]
U zadatku VOZILO piše
[tt]vozilo& iduciBrzi()
[color=red]Vraća referencu na iduće brže vozilo (s obzirom na sva vozila koja trenutno postoje u programu), tj. od svih vozila koji su strogo brža od vozila koji je pozvao funkciju treba uzet najsporijeg.[/color][/tt]
a treba pisati
[tt]vozilo& iduciBrzi()
Vraća referencu na iduće brže vozilo [color=green]s istim brojem kotača[/color] (s obzirom na sva vozila koja trenutno postoje u programu), tj. od svih vozila koji su strogo brža od vozila koji je pozvao funkciju i [color=green]imaju isti broj kotača[/color] treba uzeti najsporijeg.[/tt]
[b]5.[/b] U zadatku RACUNALO u kodu piše
[tt]1500 512 13.3 [color=red]2[/color] 20[/tt]
a treba pisati
[tt]1500 512 13.3 [color=green]2.1[/color] 20[/tt]
Ovdje ću stavljati neka važnija pitanja koja dobijem u mailovima i greške koje se potkradu u zadacima (kodu), a mislim da će pomoći svima razjasniti neke stvari.
FAQ:
Q1: Da li se smiju upotrebljavat globalne varijable?
A1: Mogu se upotrebiti (u zadatku ne piše eksplicitno da se ne smiju), ali uvijek postoji mogućnost da tada vaš program neće raditi (npr. name collision). Poanta zadatka je bila da se sve nalazi unutar klasa.
Q2: Da li treba provjeravati ispravnost parametara koji se proslijeđuju funkcijama, paziti da uvijek postoje stvoreni objekti određenog tipa, itd...
A2: Ne treba paziti na takve stvari.
Q3: Što treba vratiti u funkciji static vozilo& brzeVozilo(vozilo &voz1, vozilo &voz2) u slučaju da vozila imaju istu snogu motora.
A3: Vratite voz1.
Q4: Da li funkcija cijenaNadogradnje brzinu i ram postavlja na novu brzinu i novi ram?
A4: NE. Računalo ostaje nepromijenjeno.
GREŠKE:
1.
U zadatku NAMJESTAJ kod funkcija vrijednostMaterijala piše 10 kn/kg, 5 kn/kg i 20 kn/kg, a trebalo bi pisati 100 kn/kg, 50 kn/kg, 200 kn/kg.
2.
U zadatku NAMJESTAJ u kodu piše:
A.spustiCijenu(1500);
jeftinoDrvo = namjestaj::nadjiNajeftiniji("drvo");
a treba pisati
A.spustiCijenu(1500);
jeftinoDrvo = namjestaj::nadjiNajjeftiniji("drvo");
3.
U zadatku RACUNALO piše
static racunalo& najbrzeRacunalo();
Vraća referencu na najbrže računalo (s obzirom na sva vozila koja trenutno postoje u programu)...
a treba pisati
static racunalo& najbrzeRacunalo();
Vraća referencu na najbrže računalo (s obzirom na sva računala koja trenutno postoje u programu)...
4.
U zadatku VOZILO piše
vozilo& iduciBrzi()
Vraća referencu na iduće brže vozilo (s obzirom na sva vozila koja trenutno postoje u programu), tj. od svih vozila koji su strogo brža od vozila koji je pozvao funkciju treba uzet najsporijeg.
a treba pisati
vozilo& iduciBrzi()
Vraća referencu na iduće brže vozilo s istim brojem kotača (s obzirom na sva vozila koja trenutno postoje u programu), tj. od svih vozila koji su strogo brža od vozila koji je pozvao funkciju i imaju isti broj kotača treba uzeti najsporijeg.
5. U zadatku RACUNALO u kodu piše
1500 512 13.3 2 20
a treba pisati
1500 512 13.3 2.1 20
Zadnja promjena: JV; 21:25 ned, 13. 5. 2012; ukupno mijenjano 4 put/a.
|
|
[Vrh] |
|
kkarlo Forumaš(ica)
Pridružen/a: 19. 05. 2010. (08:43:59) Postovi: (1B2)16
Spol:
|
Postano: 15:59 sri, 9. 5. 2012 Naslov: |
|
|
Pošto se otvorio novi topic za to da stavim pitanje i ovdje...
Zašto se u zadatku (računalo, laptop, notebook) traži u funkciji spojiRacunala da se vraća static? I da li to spajanje znači da to novo nastalo računalo ulazi automatski u listu te da nestaju ta dva koja smo spojili? Ili od ta dva nastaje jedno bolje, i drugo lošije?
:?
Ne vidim ulogu statica tu, pa ako može neki primjer da shvatim...?
Koliko ja razumijem, to je za svaka dva računala drugačije, i računa se svaki put iznova...? Ili sam nešto propustio...
EDIT:
ok, jasno mi je sto se događa sa računalima koja se spajaju, ali me i dalje zanima zašto static? Kako bi trebala ta funkcija radit ako imamo recimo dva računala:
R1(200,300,200)
R2(300,150,250)
i sad ih spojimo, i dobijemo neki R3(300,300,250), i sad slijedeći put kad idemo spajat da li ga trebamo resetirat ili se smatra da se cijelo vrijeme spajaju sva računala u jedno najbolje? Mislim jel zato static?
I još nešto, u primjeru je ispisano za laptop U da je masa 2, a red prije je masa postavljena na 2.1 sa konstruktorom i svugdje bi trebao biti float tako da mi nije jasno di se taj 0.1 izgubi?
Pošto se otvorio novi topic za to da stavim pitanje i ovdje...
Zašto se u zadatku (računalo, laptop, notebook) traži u funkciji spojiRacunala da se vraća static? I da li to spajanje znači da to novo nastalo računalo ulazi automatski u listu te da nestaju ta dva koja smo spojili? Ili od ta dva nastaje jedno bolje, i drugo lošije?
Ne vidim ulogu statica tu, pa ako može neki primjer da shvatim...?
Koliko ja razumijem, to je za svaka dva računala drugačije, i računa se svaki put iznova...? Ili sam nešto propustio...
EDIT:
ok, jasno mi je sto se događa sa računalima koja se spajaju, ali me i dalje zanima zašto static? Kako bi trebala ta funkcija radit ako imamo recimo dva računala:
R1(200,300,200)
R2(300,150,250)
i sad ih spojimo, i dobijemo neki R3(300,300,250), i sad slijedeći put kad idemo spajat da li ga trebamo resetirat ili se smatra da se cijelo vrijeme spajaju sva računala u jedno najbolje? Mislim jel zato static?
I još nešto, u primjeru je ispisano za laptop U da je masa 2, a red prije je masa postavljena na 2.1 sa konstruktorom i svugdje bi trebao biti float tako da mi nije jasno di se taj 0.1 izgubi?
|
|
[Vrh] |
|
JV Forumaš(ica)
Pridružen/a: 07. 02. 2011. (11:13:19) Postovi: (5C)16
|
|
[Vrh] |
|
kkarlo Forumaš(ica)
Pridružen/a: 19. 05. 2010. (08:43:59) Postovi: (1B2)16
Spol:
|
|
[Vrh] |
|
ceps Forumaš(ica)
Pridružen/a: 08. 10. 2010. (13:03:07) Postovi: (13A)16
|
|
[Vrh] |
|
Gost
|
Postano: 21:48 pet, 11. 5. 2012 Naslov: |
|
|
ja ne kuzim zasto kod ovog ispisa
racunalo X(1800, 1024, 23), Y(2200, 1024, 21);
cout << X.brzina() << " " << X.ram() << " " << X.velicinaEkrana() <<endl;
cout << Y.brzina() << " " << Y.ram() << " " << Y.velicinaEkrana() << endl;
ovo ispisuje
// 1800 0 0
// 0 1024 21
molim nekoga da mi ovo pojasni jer ocito nisam dovoljno dobro razumjela zadatak :(
ja ne kuzim zasto kod ovog ispisa
racunalo X(1800, 1024, 23), Y(2200, 1024, 21);
cout << X.brzina() << " " << X.ram() << " " << X.velicinaEkrana() <<endl;
cout << Y.brzina() << " " << Y.ram() << " " << Y.velicinaEkrana() << endl;
ovo ispisuje
// 1800 0 0
// 0 1024 21
molim nekoga da mi ovo pojasni jer ocito nisam dovoljno dobro razumjela zadatak
|
|
[Vrh] |
|
kkarlo Forumaš(ica)
Pridružen/a: 19. 05. 2010. (08:43:59) Postovi: (1B2)16
Spol:
|
Postano: 7:43 sub, 12. 5. 2012 Naslov: |
|
|
[quote="Anonymous"]ja ne kuzim zasto kod ovog ispisa
racunalo X(1800, 1024, 23), Y(2200, 1024, 21);
cout << X.brzina() << " " << X.ram() << " " << X.velicinaEkrana() <<endl;
cout << Y.brzina() << " " << Y.ram() << " " << Y.velicinaEkrana() << endl;
ovo ispisuje
// 1800 0 0
// 0 1024 21
molim nekoga da mi ovo pojasni jer ocito nisam dovoljno dobro razumjela zadatak :([/quote]
Zato što ti prije tog ispisa se poziva funkcija spojiracunala koju ti ovdje nisi navela...A onda se uzima od drugog brzina, prvog ram i ekran pa ostaju nule.
ovako glasi kod iz main-a:
racunalo X(1800, 1024, 23), Y(2200, 1024, 21);
racunalo *Z = racunalo::spojiRacunala(X, Y);
cout << X.brzina() << " " << X.ram() << " " << X.velicinaEkrana() << endl;
cout << Y.brzina() << " " << Y.ram() << " " << Y.velicinaEkrana() << endl;
cout << Z->brzina() << " " << Z->ram() << " " << Z->velicinaEkrana() << endl;
// 1800 0 0
// 0 1024 21
// 2200 1024 23
Anonymous (napisa): | ja ne kuzim zasto kod ovog ispisa
racunalo X(1800, 1024, 23), Y(2200, 1024, 21);
cout << X.brzina() << " " << X.ram() << " " << X.velicinaEkrana() <<endl;
cout << Y.brzina() << " " << Y.ram() << " " << Y.velicinaEkrana() << endl;
ovo ispisuje
// 1800 0 0
// 0 1024 21
molim nekoga da mi ovo pojasni jer ocito nisam dovoljno dobro razumjela zadatak |
Zato što ti prije tog ispisa se poziva funkcija spojiracunala koju ti ovdje nisi navela...A onda se uzima od drugog brzina, prvog ram i ekran pa ostaju nule.
ovako glasi kod iz main-a:
racunalo X(1800, 1024, 23), Y(2200, 1024, 21);
racunalo *Z = racunalo::spojiRacunala(X, Y);
cout << X.brzina() << " " << X.ram() << " " << X.velicinaEkrana() << endl;
cout << Y.brzina() << " " << Y.ram() << " " << Y.velicinaEkrana() << endl;
cout << Z→brzina() << " " << Z→ram() << " " << Z→velicinaEkrana() << endl;
// 1800 0 0
// 0 1024 21
// 2200 1024 23
|
|
[Vrh] |
|
satja Forumaš(ica)
Pridružen/a: 16. 05. 2010. (10:44:17) Postovi: (F1)16
|
|
[Vrh] |
|
JV Forumaš(ica)
Pridružen/a: 07. 02. 2011. (11:13:19) Postovi: (5C)16
|
|
[Vrh] |
|
kb Forumaš(ica)
Pridružen/a: 17. 01. 2012. (18:26:12) Postovi: (4)16
|
|
[Vrh] |
|
kkarlo Forumaš(ica)
Pridružen/a: 19. 05. 2010. (08:43:59) Postovi: (1B2)16
Spol:
|
|
[Vrh] |
|
JV Forumaš(ica)
Pridružen/a: 07. 02. 2011. (11:13:19) Postovi: (5C)16
|
|
[Vrh] |
|
googol Forumaš(ica)
Pridružen/a: 29. 09. 2011. (21:23:09) Postovi: (71)16
Spol:
|
Postano: 8:21 ned, 13. 5. 2012 Naslov: |
|
|
Javlja mi par gresaka kod destruktora, a nije mi bas jasno zasto destruktor ne prihvaca staticki vektor spremljen, dok konstruktor ne javlja nikakvu gresku da koristim staticki vektor.
U header-u sam incijalizirala destruktor kao ~namjestaj().
Javlja mi par gresaka kod destruktora, a nije mi bas jasno zasto destruktor ne prihvaca staticki vektor spremljen, dok konstruktor ne javlja nikakvu gresku da koristim staticki vektor.
U header-u sam incijalizirala destruktor kao ~namjestaj().
Description: |
|
Filesize: |
44.12 KB |
Viewed: |
192 Time(s) |
|
|
|
[Vrh] |
|
ceps Forumaš(ica)
Pridružen/a: 08. 10. 2010. (13:03:07) Postovi: (13A)16
|
|
[Vrh] |
|
JV Forumaš(ica)
Pridružen/a: 07. 02. 2011. (11:13:19) Postovi: (5C)16
|
|
[Vrh] |
|
googol Forumaš(ica)
Pridružen/a: 29. 09. 2011. (21:23:09) Postovi: (71)16
Spol:
|
|
[Vrh] |
|
akolak Forumaš(ica)
Pridružen/a: 27. 12. 2010. (16:52:59) Postovi: (1D)16
|
|
[Vrh] |
|
JV Forumaš(ica)
Pridružen/a: 07. 02. 2011. (11:13:19) Postovi: (5C)16
|
|
[Vrh] |
|
Ivanaa Forumaš(ica)
Pridružen/a: 18. 10. 2010. (22:26:06) Postovi: (35)16
|
|
[Vrh] |
|
JV Forumaš(ica)
Pridružen/a: 07. 02. 2011. (11:13:19) Postovi: (5C)16
|
|
[Vrh] |
|
|