[QGHG-it-dev-list] Zadatak 2 - bojenje kompleksa

Dusan Cvijetic dusancvijetic2000 at gmail.com
Sun Feb 20 20:31:57 CET 2022


Pozdrav,

Hvala Vam na odgovorima.

Šaljem u prilogu tabelu sa greškama koje mi baca Visual Studio. U pravu
ste, greške proističu iz nekog dela mog importa koda, ili nekih podešavanja
VS, pošto kod radi kada ga pokrećem koristeći Code::Blocks i GNU GCC
kompajler umesto onog ugrađenog u VS. Koristiću za sad Code::Blocks, ali bi
mi značila pomoć, ukoliko neko ume da rastumači šta mi se dešava, pošto sam
na Visual Studio navikao i prijatnije mi je tamo da radim.

Pozdravi,
Dušan



нед, 20. феб 2022. у 07:13 Marko Vojinovic <vmarko at ipb.ac.rs> је написао/ла:

>
> Pozdrav Dusane,
>
> Meni se cini da svi problemi na koje si naisao izgleda dolaze iz neke
> greske prilikom import-ovanja koda u Visual Studio. Ja ne koristim VS i ne
> umem da ti pomognem oko toga, ali Jaroslav rece da je uspesno importovao
> kod u VS, pa verovatno moze on da ti pomogne.
>
> Trenutna verzija koda je inace skroz kompletna, sve je definisano,
> implementirano i radi kako treba --- ja ga u Linux-u prosto kompajliram iz
> komandne linije, ovako:
>
>    g++ main.cpp -o izvrsi-me
>
> i onda kad izvrsim fajl "izvrsi-me", dobijem ocekivani output. Kompajler
> ne prijavljuje nikakve greske, sve prolazi savrseno glatko.
>
> > Koliko sam video, greške koje mi kompajler baca se uglavnom odnose na
> imena koja ne može da identifikuje, a koja dolaze iz standardne biblioteke.
>
> Pomoglo bi da nam posaljes te greske (makar prvih nekoliko), da vidimo o
> cemu se radi.
>
> > Video sam da je using namespace std iskorišćen na početku
> triangulator.hpp fajla, ali me je zanimalo zašto ta komanda ne stoji na
> početku svakog .hpp fajla? Da li bi to bilo redudantno?
>
> Da, bilo bi redundantno. Dizajn je da main.cpp include-uje samo
> triangulator.hpp, a da ovaj u sebi include-uje sve ostalo sto mu treba. Ne
> vidim zasto bi zeleo da deklarises namespace std vise puta. Mada mi se cini
> da cak i ako to uradis, ne bi trebalo da nastane nikakav problem.
>
> Bila bi dobra ideja da na papiru nacrtas "drvo include-ova": koren je
> main.cpp, pogledas koji fajlovi su tu include-ovani, pa se onda spustas po
> granama tako sto onda otvoris te include-ovane fajlove i vidis sta oni
> include-uju, itd. Ja sam to bio uradio jednom, i preporucujem i tebi --- to
> drvo ti pruza vrlo lep uvid u organizaciju koda.
>
> > Da li postoji neko pravilo kada treba da uključujem .hpp, a kada .cpp
> fajlove?
>
> Genericki receno, .hpp fajlovi sadrze definicije klasa i deklaracije
> njihovih metoda i f-ja, a .cpp fajlovi sadrze implementacije tih metoda i
> f-ja deklarisanih u .hpp fajlovima. Oni su vec namesteni da include-uju
> jedni druge, prema onom drvetu, ti tu ne bi morao nista dodatno da radis.
>
> > Još jedna od praksi koje su nas uvek terali da ispoštujemo je dodavanje
> zaštite u zaglavlja u vidu #ifndef - #define - #endif strukture
>
> Ta praksa je sigurno dobra, ali mi smo #define-ovali konstante samo u
> constants.hpp fajlu, i nigde drugo. Iz drveta mozes da vidis da je
> constants.hpp include-ovan samo jedanput (unutar classes.hpp), pa ne bi
> smela nigde da ti se pojavi dupla definicija tih konstanti. Kasnije cemo
> verovatno da dodamo #ifndef strukturu u constants.hpp, da budemo u skladu
> sa praksom, ali to nije sad najhitnija stvar --- kod momentalno radi
> ispravno i bez toga. :-)
>
> > pa bih cenio bilo kakvu pomoć koju možete da mi pružite.
>
> Jaroslave, jel' bilo neceg netrivijalnog oko ubacivanja koda u Visual
> Studio? Jel' imas neki hint za Dusana?
>
> :-)
> Marko
>
>
> Dr. Marko Vojinovic
> Group for Gravitation, Particles and Fields
> Institute of Physics
> University of Belgrade
> ======================
> home page: www.markovojinovic.com
> e-mail:    vmarko at ipb.ac.rs
>
>
>
> On Sun, 20 Feb 2022, Dusan Cvijetic wrote:
>
> > Pozdrav,
> >
> > Počeo sam da radim drugi zadatak kao što smo pričali, i imam problem sa
> pokretanjem koda. Nisam ništa menjao u fajlovima, samo sam napravio
> projekat u Visual Studio-u 2019
> > (File/New/Project from existing code, sa svim default opcijama), i kada
> pokušam da ga pokrenem, kompajler mi baci gomilu grešaka. Da li je u ovom
> trenutku generalno nemoguće pokrenuti
> > main.cpp, ili ja pravim neku grešku?
> >
> > Koliko sam video, greške koje mi kompajler baca se uglavnom odnose na
> imena koja ne može da identifikuje, a koja dolaze iz standardne biblioteke.
> Video sam da je using namespace std
> > iskorišćen na početku triangulator.hpp fajla, ali me je zanimalo zašto
> ta komanda ne stoji na početku svakog .hpp fajla? Da li bi to bilo
> redudantno?
> >
> > Kada smo na fakultetu radili C++, uvek smo #include direktive koristili
> da uvezemo neke header-e u trenutni fajl, no video sam da se u kodu ovde
> nekada uključuju .hpp, a nekada .cpp
> > fajlovi. Da li postoji neko pravilo kada treba da uključujem .hpp, a
> kada .cpp fajlove?
> >
> > Još jedna od praksi koje su nas uvek terali da ispoštujemo je dodavanje
> zaštite u zaglavlja u vidu #ifndef - #define - #endif strukture (tražili su
> nam da ne koristimo #pragma once jer
> > zavisi od kompajlera) kako bismo izbegli višestruku definiciju pri
> uključivanju zaglavlja. Da li mi koristimo neku drugu zaštitu za zaglavlja?
> Dosta grešaka koje mi je kompajler bacio
> > je bilo zbog redefinicije promenljivih, pa pretpostavljam da je to zbog
> odsustva zaštite zaglavlja.
> >
> > Na par mesta su se pojavila imena koja ranije nisu definisana.
> Pretpostavljam da je to zato što još uvek nemamo ceo kod, pa nisu sve
> funkcije i promenljive uvedene, no hteo sam ovde da
> > spomenem i te greške za slučaj da su problem samo kod mene.
> >
> > Na kraju sam pokušao da izmenim kod na mestima koje sam gore spominjao,
> samo da vidim mogu li ga naterati da se pokrene, i iako je kompajler
> prestao da se javlja, linker je počeo da mi
> > baca greške. Pretpostavljam da postoji neko sistematičnije rešenje za
> moje probleme (do sada mi se linker javljao samo kada ne startujem projekat
> u VS kako treba), pa bih cenio bilo
> > kakvu pomoć koju možete da mi pružite.
> >
> > Pozdravi,
> > Dušan
> >
> >
> > пет, 11. феб 2022. у 22:34 Marko Vojinovic <vmarko at ipb.ac.rs> је
> написао/ла:
> >
> >       Upoznati se sa osnovnom klasom Color i njenim child-klasama kroz
> problem dodeljivanja boje UniqueIDColor datom delu simplicijalnog
> kompleksa, odnosno celom kompleksu:
> >
> >          bool UniqueIDColor::colorize_all_simplices( SimpComp* G , int
> level );
> >          bool UniqueIDColor::colorize_entire_complex( SimpComp* G );
> >
> >          Input: pointer na simplicijalni kompleks, nivo "k" za
> k-simplekse koje treba obojiti.
> >          Output: true ako je uspesno izvrseno bojenje, false ako je
> doslo do neke greske.
> >
> >       F-ja colorize_all_simplices() treba da prodje kroz sve simplekse
> iz G.elements[level] (ili se pise G->elements[level]?), i svakom od njih da
> dodeli instancu boje klase
> >       UniqueIDColor. F-ja colorize_entire_complex() treba da izvrsi
> prethodnu f-ju za sve vrednosti 0 <= level <= D. Nakon toga, zakomentariti
> kod koji dodeljuje ovu boju u seed
> >       f-ji seed_single_triangle() (boju boundary ne dirati, ona treba da
> ostane u seed f-ji), i umesto toga u main() f-ji eksplicitno pozvati
> colorize_entire_complex() da oboji
> >       kompleks za trougao, odmah nakon sto se ovaj instancira.
> >
> >
> >       :-)
> >       Marko
> >
> >
> >       Dr. Marko Vojinovic
> >       Group for Gravitation, Particles and Fields
> >       Institute of Physics
> >       University of Belgrade
> >       ======================
> >       home page: www.markovojinovic.com
> >       e-mail:    vmarko at ipb.ac.rs
> >
> >
> >       --
> >       QGHG-it-dev-list mailing list
> >       QGHG-it-dev-list at ipb.ac.rs
> >       http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
> >
> >
> >--
> QGHG-it-dev-list mailing list
> QGHG-it-dev-list at ipb.ac.rs
> http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/attachments/20220220/2e1474db/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: errors.csv
Type: application/vnd.ms-excel
Size: 27136 bytes
Desc: not available
URL: <http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/attachments/20220220/2e1474db/errors-0001.csv>


More information about the QGHG-it-dev-list mailing list