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

Dusan Cvijetic dusancvijetic2000 at gmail.com
Sun Feb 20 02:05:32 CET 2022


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/attachments/20220220/244b5fc7/attachment.htm>


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