Diferente pentru 12-ponturi-pentru-programatorii-cc intre reviziile #10 si #11

Nu exista diferente intre titluri.

Diferente intre continut:

Ignorand faptul ca $t$ nu este initializat (e doar un program de test, nici inainte nu era :D) timpul de executie scade la {$1.2$}s, Wow! Insa aveti grija sa nu o luati pe urmele lui Silviu: {$sizeof(t)$} ~= {$4$}Mb care e mult peste limita de {$1$}Mb ce se impune de obicei in concursuri (si asta daca folositi gcc). Cel mai probabil veti primi "Killed by signal 11".
h3. a
h2. Pont #6
 
h3. 6.a
{$++i$} e preferabil {$i ++$} (unde nu complica lucrurile).
h3. b
h3. 6.b
Nu va feriti sa folositi "{$const$}" si "{$static$}". "{$const$}" chiar poate sa faca diferenta ca timp si vizibilitate.
h3. c
h3. 6.c
Utilizati si literele mari pentru anumite variabile mai importante (poate si macro-uri).
h2. Pont #8
h3. a
h3. 8.a
Folositi-va de utilitarele puse la dispozitie de sistemul de operare (linux in cazul meu). RTFM :)
* $splint$ - o versiune free a programului lint: va da foarte multe warning-uri.
* $bash$ - putin scripting
h3. b
h3. 8.b
Compilati-va sursele cu {$-W -Wall$} (tot pentru warning-uri)
h3. c
h3. 8.c
Generatorul de teste si sursa dumneavoastra trebuie sa fie doua programe diferite !
h3. d
h3. 8.d
Pentru debugging folositi {$fprintf(stderr, ...)$}. Daca se intampla sa uitati, macar nu primiti "wrong answer" din cauza unui {$printf$}.
h2. Pont #9
h3. a
h3. 9.a
== code(cpp)|int t[666];
/* toate elementele lui t vor fi -1 */
memset(t, 0xff, sizeof(t));
==
h3. b
h3. 9.b
Pentru valoarea infinit folosesc o constanta
memset(t, 0x3f, sizeof(t));
==
h3. c
h3. 9.c
Daca avem de comparat doua siruri ({$s{~1~}, s{~2~}$}) a caror lungime o stim ({$len_s{~1~}$}, respectiv {$len_s{~2~}$}) este mai rapid
== code(cpp) |strcmp(s1, s2);
==
h3. d
h3. 9.d
== code(cpp)|scanf(" %c", &ch)
==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.