homoviator (napisa): |
Q3 |
Silenoz (napisa): |
Q2: Treba li inicijalizirati strukturu promjenjive veličine (konkretno za hotele u mom problemu) koja se stalno prilagođava i baviti se C-ovskim magijama i strukturama podataka, ili je OK pretpostaviti da skupovi neće biti veći od određene veličine (koje?) pa baratati sa njima kao unaprijed definiranim nizovima?
Znam da je način implementacije nebitan za ovakvo testiranje, ali prije kodiranja bi jako korisno bilo znati 'korisnička' očekivanja i ne komplicirati si život ako ne treba |
JV (napisa): |
Malo bolje čitati zadatak: "Ukupan broj hotela u kolekciji nikad neće biti veći od 100." |
Silenoz (napisa): |
Naravno da možeš. Bitno je što radi, ne kako. I da je iz tvojih prstiju pisano, naravno.
Imam ja još par pitanja, doduše ovo su tehničke prirode. http://prntscr.com/33k3vl Zašto private??? Inače radim u gedit-terminal kombinaciji, ali izbacilo mi je 3 tone grešaka i rekoh probati u CodeBlocks. Zar ovo ne bi trebalo raditi bez da pišemo private/public/protected pred funkcijama i varijablama u klasi? Ima li to koje veze sa tim što sam "ko Indijanac" samo natrpao 3 text fajla unutra i išao kompajlirati ili? Ako pak treba pisati, piše li se to u c++ u .h ili u implementaciju ili oboje? Drugo me zanima postoji li neka čarolija da CodeBlocks builda više nego jednom? Prvi put kompajliram, izbaci greške; popravim (što znam) i ponovo, on ne reagira. Tek nakon što restartam ponovo može kompajlirati, samo jednom. Ima netko kakvu ideju? |
Ryssa (napisa): |
Nisam sigurna smijem li ovo pitati, ali evo...kako prikazati praznu kolekciju? Kursorom ili? |
JV (napisa): |
[
Koristiti struct umjesto class. (struct i class imaju drugačiji "defaultni" pristup varijablama) |
BlameGame (napisa): |
Imam pitanje vezano za konstruktore. Konkretno, radi se o zadatku s hotelima. Dali unutar konstruktora za SkupHotela moram pozvati nekako i konstruktore za Hotele, jer kad pokrenem zadatak kaze mi nesto tipa: ne moze pozvati konstruktor SkupHotela jer ne pronalazi nigdje konstruktore od Hotela. Nadam se odgovoru na pitanje jer ne znam kako bi sama dosla do ovoga |
Kod: |
Hotel h;
cout << h.Ime << h.Grad(); |
Kod: |
Hotel(string ime, string grad, int cijena, int brojSlobodnihMjesta) |
Kod: |
Hotel ItiHotel(int i) |
Kod: |
int NajmanjaCijenaUGradu(string grad)
Vrada najmanju cijenu nodenja u gradu grad. Ukoliko je skup hotela prazan treba vratiti -1. |
Shirohige (napisa): | ||
Hoće li funkcija
u test primjerima uvijek dobiti indekse postojećih hotela? |
Shirohige (napisa): | ||||
Jel smijemo pretpostaviti da neće biti ovakvih pokušaja (za hotele)?
tj. stvaranje novog hotela bez pozivanja konstruktora
tj. pokušaj zvanja funkcija Ime(), Grad(), ... za hotel kojemu još nisu pridružene vrijednosti? |
relax (napisa): |
U specifikaciji za zadaću su samo navedeni konstruktori i funkcije članice, a ne i elementi strukture.
Pitanje 1: Možemo li računati sa programi koji testiraju DZ neće pristupati pojedinim elementima strukture eksplicitno nego da će samo koristiti metode i konstruktore? |
relax (napisa): |
Pitanje 2: U zadaći sa hotelima, možemo li pretpostaviti da je cijena noćenja pozitivna za potrebe nekih funkcija? |
Shirohige (napisa): |
Vrijedi li isto ako skup nije prazan, ali ne postoji zadani "grad" u skupu tj. da funkcija u tom slučaju također vraća -1? |
nuclear (napisa): |
Imam veliki problem kod kompajliranja.
Naime, pri buildanju mi se javlja greške za (gotovo) sve funkcije i kaže nešto u smislu: undefined reference to "ime funkcije". hoteli.h, hoteli.cpp i main.cpp su spremljeni u projekt Zadaca (asistent Vujčić je početni problem općg neprepoznavanja struktura preko projekta riješio). Ako kompajliram preko terminala, onda kaže: Segmentation fault. |
BlameGame (napisa): |
U konstruktoru Hotel(string ime, string grad, int cijena, int brojSlobodnihMjesta) da li smijem promjeniti imena argumenata da mi bude tipa Hotel(string ime1, string grad1, int cijena1, int slobodnaMjesta) ili je to dio onoga "mora se zvati kako je u zadatku". |
frutabella (napisa): |
Added after 25 minutes: U klijentskom mainu koji smo dobili pise ovo: ispisSkupDuzina(test.SadrzeTocku(2,4)); // (2, -1) - (2, 5) // (1, 4) - (6, 4) // (2, 4) - (2, 5) Ovo je greska? Ili ja ne razumijem sta znaci vratiti duzine koje sadrze tocku (2,4)? Trebalo bi ispisati valjda samo // (2, 4) - (2, 5). Added after 50 minutes: |
Anonymous (napisa): |
može se kompajlirati c++ kod s gcc? i kako? |
Kod: |
g++ ime_maina.cpp ime_zaglavlja.h ime_implementacije.cpp -o kako_ces_nazvati_izvrsnu_datoteku |
Kod: |
./ime_izvrsne_datoteke |
Silenoz (napisa): |
Ako si na Windowsima u cmd moras uci u folder gdje ti je sve snimljeno (naredbe: ls=listaj foldere, dir imee_foldera=udi u ime_foldera, dir .. (doslovno tocke!) izadi iz trenutnoga). Slicno sa Linuxom samo moras u terminalu raditi (jedina razlika je sto ovdje ulazis sa cd ime_foldera a ne dir) |
Silenoz (napisa): | ||
Kada si u pravom folderu, u terminal/cmd pises:
|
Anonymous (napisa): |
može se kompajlirati c++ kod s gcc? i kako? |
Silenoz (napisa): |
Sto se kompajlanja tice - jesi siguran? Meni je radilo probleme bez da svo troje odjednom navedem. |
frutabella (napisa): |
(radim program za SkupDuzine)
1. Da li u funkciji koja vraca SkupDuzina koje sadrze tocku (x,y) [SkupDuzina SkupDuzina::SadrzeTocku(int x, int y)] moramo postaviti uvjet na (x,y) koja nije sadrzana ni u jednoj duzini? Znaci, sta u tom slucaju funkcija mora vratiti? 2. Slicno pitanje. U zadatku se kaze "Sve duzine ce biti paralelne s osi x ili y", da li to znaci da ce klijentski program uvijek dodavati takve duzine, ili moram u funkciji Dodaj provjeriti da li je duzina paralelna s jednom od osi? Added after 25 minutes: U klijentskom mainu koji smo dobili pise ovo: ispisSkupDuzina(test.SadrzeTocku(2,4)); // (2, -1) - (2, 5) // (1, 4) - (6, 4) // (2, 4) - (2, 5) Ovo je greska? Ili ja ne razumijem sta znaci vratiti duzine koje sadrze tocku (2,4)? Trebalo bi ispisati valjda samo // (2, 4) - (2, 5). Added after 50 minutes: 3. U klijentskom programu je zadan #include <string>, pri kraju sam s programom, ali nigdje mi nije bilo potrebno koristiti funk iz stringa. No, trebale bi mi funk iz cmath, sqrt i abs. Da li mogu koristit <cmath>? (moze i bez sqrt) |
relax (napisa): | ||
Pobrini se da svaka funkcija koja je u hoteli.cpp ima ispravnu deklaraciju u .h datoteci i naravno za ispravnost samih fja. Moguće je da ti neka od fja neispravno rukuje poljima pa 'trci' po nedozvoljenom dijelu memorije, ali za to bih morao vidjeti kod |
Llama (napisa): |
ista stvar kad kompajliram kodove od zadaća od prošle godine. u čemu je problem? |
Kod: |
void ispisDuzina(Duzina d)
{ cout << "(" << d.X1() << ", " << d.Y1() << ") - (" << d.X2() << ", " << d.Y2() << ")"; } |
Anonymous (napisa): |
meni prolazi g++, ali gcc ne. a pise da ce biti gcc... |
Chardog (napisa): | ||
Imam jedan vrlo specifican problem, zadatak je sa Duzinama i SkupovimaDuzina. U test primjeru koji smo dobili u zadatku imamo ovu funkciju
Mene zanima, sto treba ispisati ako slucajno ispisuje ''praznu duzinu'' npr ako je skup prazan pa onda NajblizaDuzinaTocki() vrati ''praznu'' duzinu i to ova funkcija dobije kao parametar. Taj problem nemam kod IspisSkupDuzina jer tamo ItaDuzina() normalno preskace prazne, ali ako se pozove samo ova funkcija nastaje taj problem. Ovako kako je napisana ona ce svakako ispisati koordinate a kako same funkcije X1() moraju vratiti int ne mogu napraviti da vrati prazno. Pa je moje pitanje, sto treba ispisati za koordinate od prazne duzine i dali ce u testnim primjerima biti takvih situacija? |
AvastSecure (napisa): |
Vezano uz zadaću Imenik. Kada izbrišem iz imenika Antu Matica Osijek 1991 koji je izgledao prije toga ovako recimo :
Mate Matic Rijeka 1984 Ivica Ivic Zagreb 1990 Josip Josipovic Split 1980 Ante Matic Osijek 1991 Igor Matijasevic Rijeka 1950 Karlo Matijasevic Split 1970 Ivica Ivic Rijeka 1966 Josip Josipovic Split 1980 i potom želim dodati osobu Petar Petrovic Novi Vinodolski 1980, treba li moj imenik izgledati ovako : Mate Matic Rijeka 1984 Ivica Ivic Zagreb 1990 Josip Josipovic Split 1980 Petar Petrovic Novi Vinodolski 1980 Igor Matijasevic Rijeka 1950 Karlo Matijasevic Split 1970 Ivica Ivic Rijeka 1966 Josip Josipovic Split 1980 ili ovako : Mate Matic Rijeka 1984 Ivica Ivic Zagreb 1990 Josip Josipovic Split 1980 Igor Matijasevic Rijeka 1950 Karlo Matijasevic Split 1970 Ivica Ivic Rijeka 1966 Josip Josipovic Split 1980 Petar Petrovic Novi Vinodolski 1980 Odnosno, trebam li kada izbrišem nekoga sve ostale shiftati natrag da nemam "praznih mjesta" ili ne trebam? EDIT : također, u funkciji Imenik NadjiPrezime(string prezime), treba li kreirati novi prazni imenik i njega popunjavati samo osobama koje imaju odgovarajuće prezime ili treba postojeći imenik skratiti da ostanu samo oni koje želimo? |
AvastSecure (napisa): |
U zadatku Imenik, smijemo li pretpostaviti da je godina rođenja uvijek >0 ? |
Shirohige (napisa): | ||
Opiši malo detaljnije što i kako radiš/kompajliraš (upravo sam kompajlirao dvije prošlogodišnje zadaće preko komandne linije prema uputama sa slajdova asistenta Čačića i sve radi). |
output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.