12:00 am

Upravo smo završili s unosom rezultata. Evaluacija je ovaj put odrađena preko ZATEMASovog automatskog Evaluatora, te smo stoga uočili nekoliko stvari koje bi natjecatelji mogli zaželjeti popraviti u načinu rada (barem prije srednje škole gdje se uvijek koriste ovakvi automatski evaluatori):

1. Nikako, ali baš NIKAKO ne poslati rješenje koje se ne može kompajlirati! Ako nedostaje vitica, ili ako ste #includeali krivi header, to je nevaljano rješenje i nitko ga neće popraviti. (Današnji provoditelj evaluacije nije niti pokušao, jer stvarno nije u redu ne stisnuti F9 i pokrenuti program prije slanja.)
2. Pravilan oblik main() funkcije je:
int main() { return 0; }
Dakle obavezno mora vraćati nulu! To je obavijest OS-u (ili evaluatoru) da je program uspješno završio. Inače evaluatori pretpostavljaju da se program skršio. Neki su zaboravili napisati return, a jedan natjecatelj je čak napisao return 1; – odnosno eksplicitno je tvrdio da je program završio s greškom… To je za ovaj put ispravljeno, s obzirom da se u OŠ inače točnost ne provjerava automatski.
3. Izuzetno bitno: vaš kompajler nije naš kompajler! To jest, vjerojatno koristite MinGW GCC za Windowse, i to vjerojatno GCC3.3. GCC stariji od verzije 4.3 mogao je "žvakati" kod koji je npr. radio #include <stdlib.h>, i zatim koristio funkciju strlen() koja se nalazi u <string.h>. To više nije slučaj! ZATEMASov GCC je nov, i neće to prihvatiti. Uvijek #includeati ono što piše u priručničkoj (man) stranici od pojedine funkcije! Ovo smo ispravljali (memset(), strlen(), …)
4. Nikako, ali baš nikako, ne ostavljati pozive na system(), čak ni kada se radi [polu-]ručna evaluacija! Time otežavate ispravljaču, a i pokušavate petljati s pozivima programa (proučite što ustvari radi system()). Preporučamo da isprobate Code::Blocks kao razvojno okruženje, koji za konzolne programe sam doda poziv na pauzu; ostavite si Dev-Cpp (radi MinGW), ali doinstalirajte si Code::Blocks. Ovaj put je dežurni ispravljač micao pozive na system().

I konačno, zamolbica: Mailove naslovite imenom i prezimenom, te nazivom natjecanja i brojem kola. Primjer: "Petar Perica – Ljetna liga C++ 2009, 4. kolo". Izvorne kodove zapakirajte u ZIP datoteke istog naziva, ali bez razmaka i posebnih znakova, tj "PetarPerica_LjetnaLigaCPP2009_4kolo.zip"

Sad kad ste naučili nešto novo, dozvoljavamo pogled na rezultate 🙂

Vezane Objave