Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: evaluare incorecta la OJI 2010  (Citit de 10486 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
teta2k
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« : Martie 09, 2010, 16:03:42 »

Buna ziua! Postez aici in speranta ca poate cineva va lua masuri in aceasta privinta (una destul de grava dupa parerea mea, desi cei de la "minister" nu au vrut sa auda).

Sambata dupamiaza, 6 martie, s-au afisat pe site-ul oficial OJI IASI (http://liis.ro/~cex_is/Informatica/pregatire.html) rezultatele de la olimpiada, o data cu sursele concurentilor (am inteles ca acestea s-au postat din greseala) si evaluatorul oficial.
Vazand ca am un punctaj relativ mic la prima problema (livada) m-am gandit sa vad care e diferenta dintre sursa mea si cea a unui concurent cu punctaj maxim. ... Cele 2 surse aveau aceeasi metoda de rezolvare, la fel de corecta si eficienta.
Asa ca m-am gandit sa instalez evaluatorul si sa vad ce e in neregula. Apoi am compilat si evaluat toate sursele (dupa ce am inchis orice proces inutil care rula pentru a fi sigur ca rezultatele vor fi corecte). Spre uimirea mea, clasamentul rezultat era complet diferit de cel original.
Am depus contestatie si luni am fost la re-evaluat sursele la scoala. Desi eram sigur ca totul se va clarifica, evaluatorul de la scoala a dat acelasi rezultat ca cel oficial. Intre timp aparuse problema si pe campion, asa ca am pus si acolo sursa mea si tot punctaj mic aveam. Nu imi venea sa cred, desi profesorii imi ziceau ca am gresit ceva eram sigur ca rezolvarea mea era buna. Asa ca m-am uitat din nou pe sursa cu punctaj maxim si sursa mea si SINGURA diferenta era modul de tratare a fisierelor (sursa cu punctaj maxim folosea metoda specifica C : freopen/scanf/printf, iar eu foloseam metoda specifica C++ : fstream). Initial m-am gandit ca e imposibil sa fie vreo diferenta majora de timp de executie intre cele 2, dar dorind neaparat sa vad ce nu a mers bine am modificat la sursa mea DOAR partile unde deschideam fisierele, respectiv unde citeam si scriam, inlocuind metoda din C++ cu cea din C. Am trimis noua sursa pe campion si... punctajul era 100!

Am evaluat la scoala sursele din nou, si intr-adevar aceasta era cauza evaluarii gresite: metoda folosita la lucrul cu fisiere.

Si totusi cum de la mine acasa a mers din prima cu toate sursele originale... atunci mi-am dat seama ca eu am instalat MinGW Developer Studio cu ultima versiune de compilator (g++) de pe internet, nu cu cea din pachetul OJI.
Asa ca i-am aratat profesorului de informatica tot ce am facut ca sa imi dau seama ca evaluarea nu este corecta din cauza versiunii invechite a compilatorului...
Foarte uimit si convins ca am dreptate, a incercat sa vorbeasca cu cei de la minister pentru a rezolva aceasta problema.
Dar raspunsul nu a fost cel la care ma asteptam, ci mai degraba o scuza ca nu pot schimba nimic pentru ca "asa e regulamentul".

CONCLUZIA: Toti cei care ati folosit fstream si aveti punctaje mici, acum stiti cat de corecta este evaluarea la olimpiada de informatica, una dintre cele la care rezultatele ar trebui sa nu aiba marja de eroare.

Sper ca cineva in stare sa faca ceva in aceasta privinta va afla aceste lucruri.
Memorat
APOCALYPTO
Nu mai tace
*****

Karma: 3
Deconectat Deconectat

Mesaje: 250



Vezi Profilul
« Răspunde #1 : Martie 09, 2010, 16:15:36 »

MinGW nu a  fost cea mai buna idee dupa parerea mea la OJI, in momentul in care am dat sursa aveam excat 10 ferestre deschise pentru ca se blocheza lejer MINGW-ul mai ales atunci cand faci debug.
Personal sper ca la OJI 2011 sa se foloseasca Codeblocks( stiu pana la urma si in Codeblocks tot Mingw-ul il folosim dar totusi nu se compara).
Folosesc Codeblocks de aproape un an si nu am avut probleme majore cu el. Si pe deasupra in codeblocks poti vedea vectorii STL la watch iar in Mingw nu.
Memorat
popoiu.george
Vorbaret
****

Karma: 19
Deconectat Deconectat

Mesaje: 162



Vezi Profilul
« Răspunde #2 : Martie 09, 2010, 16:16:10 »

Fara indoiala este o problema foarte mare, dar o problema mai mare este ignoranta celor de la minister si lipsa lor de cunostinte in acest domeniu.

LE : Mie cel putin mi se pare normal (si natural) sa se foloseasca ultima versiune a compilatoarelor.

De asemenea, dupa cum spune si Dragos in postul anterior, MinGW Developer Studio nu cred ca este cea mai buna alegere din mai multe puncte de vedere.

1) Proiectul nu mai este in development din 2006 mi se pare.
2) CodeBlocks este un IDE care este in development si net superior lui MinGW Developer Studio. (parere formata dupa utilizarea ambelor medii)
« Ultima modificare: Martie 09, 2010, 16:21:36 de către Popoiu George » Memorat
APOCALYPTO
Nu mai tace
*****

Karma: 3
Deconectat Deconectat

Mesaje: 250



Vezi Profilul
« Răspunde #3 : Martie 09, 2010, 16:21:48 »

Fara indoiala este o problema foarte mare, dar o problema mai mare este ignoranta celor de la minister si lipsa lor de cunostinte in acest domeniu.

LE : Mie cel putin mi se pare normal (si natural) sa se foloseasca ultima versiune a compilatoarelor.

De asemenea, dupa cum spune si Dragos in postul urmaor, MinGW Developer Studio nu cred ca este cea mai buna alegere din mai multe puncte de vedere.

1) Proiectul nu mai este in development din 2006 mi se pare.
2) CodeBlocks este un IDE care este in development si net superior lui MinGW Developer Studio. (parere formata dupa utilizarea ambelor medii)
Ce e mai rau e ca isi bat joc de munca unor copii.
Memorat
ucc_5
Client obisnuit
**

Karma: -11
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #4 : Martie 09, 2010, 16:22:06 »

Sunt mai multe probleme cu anumite evaluatoare. Spre exemplu am intalnit o problema in care foloseam un for cu i<=expresie, asa ca am memorat expresia intrun auxiliar ca sa nu repete calculul mereu; surpriza a fost ca timpul de executie este cu mult mai mic la varianta aparent mai rapida (desi daca ma gandesc bine compilatorul ar trebui sa realizeze ca se repeta calculul si sa optimizeze asta, sau poate ca nu  Smile....). Ma rog asta mi se intampla in mingw, dar banuiesc ca la fel ar fi si daca ar fi o problema de olimpiada evaluata cu evaluator oficial pentru ca tot la fel a fost compilata sursa.
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #5 : Martie 09, 2010, 16:42:15 »

desi daca ma gandesc bine compilatorul ar trebui sa realizeze ca se repeta calculul si sa optimizeze asta, sau poate ca nu
Nu, nu trebuie, daca nu specifici sa-ti optimizeze  codul ( -O2, -O3 .. ) compilatorul nu o va face, el nu stie ce e in capul tau, el face doar ce spui tu sa faca Smile.
De acord, MinGW ca IDE e unul jalnic si limpsit de orice importanta practica, eu tot nu pot sa inteleg de ce nu s-a ales Visual Studio 2008( cel mai bun din parerea multor specialisti... )
Imi pare rau pentru ce ai patit, nici mie nu mi se pare corect, de exemplu  eu ma confrunt cu alta problema o sursa exact ca cea oficiala nu obtine 100pct Smile),  ... dar traim in Romania si asta ne ocupa tot timpul Smile
ps: indiferent ce compilator ai instalate, evaluatorul parca isi instaleaza propiul set de compilatoare, nu sunt 100% sigur de asta..
Memorat
Stefanaj
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #6 : Martie 09, 2010, 16:50:37 »

ps: indiferent ce compilator ai instalate, evaluatorul parca isi instaleaza propiul set de compilatoare, nu sunt 100% sigur de asta..


atata timp cat ai orice alt compilator instalat pe calculator,nu te opreste nimeni ca schimbi setarile(compilatoarele in acest caz) la evaluator.
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #7 : Martie 09, 2010, 16:53:48 »

Citat
LE : Mie cel putin mi se pare normal (si natural) sa se foloseasca ultima versiune a compilatoarelor.
Fals. Scrie in regulament ca se folosesc compilatoarele din pachetul "OJIkit2" ? Scrie. Daca voi nu ati folosit versiunile respective este strict problema voastra. Ei au anuntat. In regulament s-au precizat si optiunile de compilare (-O2 si -Wall).

Legat de ce e mai bun (Mingw sau Codeblocks), parerea mea e ca ar fi trebuit sa le instaleze pe amandoua, atata timp cat folosesc acelasi compilator si aceeasi versiune a compilatorului. Visual Studio nu s-a pus pentru ca nu e compatibil cu gcc-ul folosit la ONI, acesta fiind si motivul pt care s-a renuntat la Borland.
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #8 : Martie 09, 2010, 17:03:10 »

In primul rand cred ca ar trebui sa carificam cateva notiuni elementare.

MinGW Developer Studio si Code::Blocks sunt IDE-uri. Felul in care ruleaza o sursa cpp NU depinde de IDE-ul folosit pentru a o scrie. Ele nu au posibilitatea de a compila/rula o sursa, desi acest lucru nu este evident pentru utilizatorii incepatori. Singura diferenta intre IDE-uri consta in usurinta de a scrie / debuga codul. Rezultatul la evaluare va fi tot acelasi (daca se foloseste acelasi compilator).

Responsabilitatea de informare cu privire la compilatorul folosit la OJI revine exclusiv elevului. Regulamentul prevedea clar versiunea folosita. Pachetul pentru OJI a fost facut de echipa infoarena, in urma cu aproximativ un an si jumatate. Am inclus la acel moment ultima versiune stabila a compilatorului MinGW. Intre timp au aparut alte versiuni, iar o parte din modificarile aduse se refera, intr-adevar, la viteza streamurilor.

Pretentia de a avea la dispozitie ultima versiune de compilator la OJI este cel putin exagerata. Gandeste-te ca profesorii au fost anuntati cu foarte mult timp inainte (un an) de schimbarile aduse anul acesta. Au instalat in licee pachetul OJI, tocmai pentru a le permite elevilor sa se pregateasca mai bine pe noul compilator. E o problema de logistica ce nu poate fi depasita usor.

.campion foloseste o versiune veche gcc - 3.2.2. Ultima versiune aparuta este 4.3.3, iar infoarena foloseste 4.2.x. Din acest motiv nu ai primit 100 de puncte folosind streamuri pe .campion (pe infoarena e probabil sa iei maxim).

Din pacate, olimpiada de informatica nu inseamna doar gasirea algoritmilor potriviti pentru rezolvarea unor probleme. Numerosi alti factori intra in joc, unul dintre ei fiind compilatorul. Tuturor concurentilor li se ofera sanse egale, punandu-li-se la dispozitie aceeasi versiune, anuntata cu mult timp inainte. Uneori se intampla lucruri mai putin placute, cum a fost in cazul tau, dar trebuie sa constientizezi ca vina este a ta. O pregatire serioasa pentru olimpiada ar fi inclus studierea acestor detalii. In plus, diferentele intre functiile I/O standard C si C++ au reprezentat o problema intens dezbatuta pe infoarena si nu numai.

Bafta in continuare,
Andrei.

Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #9 : Martie 09, 2010, 18:46:15 »

Eu am citit cu functiile din fstream, si nu am avut probleme. Ar trebui sa fim multumiti ca s-a renuntat la Borland, si sa nu acuzam nefondat comisia. La urma urmei, regulamentul a fost respectat.
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #10 : Martie 09, 2010, 20:18:16 »

Din pacate, olimpiada de informatica nu inseamna doar gasirea algoritmilor potriviti pentru rezolvarea unor probleme. Numerosi alti factori intra in joc, unul dintre ei fiind compilatorul. Tuturor concurentilor li se ofera sanse egale, punandu-li-se la dispozitie aceeasi versiune, anuntata cu mult timp inainte. Uneori se intampla lucruri mai putin placute, cum a fost in cazul tau, dar trebuie sa constientizezi ca vina este a ta. O pregatire serioasa pentru olimpiada ar fi inclus studierea acestor detalii. In plus, diferentele intre functiile I/O standard C si C++ au reprezentat o problema intens dezbatuta pe infoarena si nu numai.
Nu este ok ce zici, tu afirmi ca o sursa scrisa in C ar trebui sa obtina mai mult  decat cea in C++ pt ca foloseste lucruri mai optime. Aceasta este o aberatie si nimeni, dar nimeni nu este obligat sa stie toate amanuntele despre eficienta instructiunile, mai ales un elev in clasa a 9. Daca sursa implemnteaza algoritmul optim => 100pct, ca functiile apelate sunt putin mai lente decat altele sunt detalii tehnice si vina este a celui care a implementat compilatorul nu a participantiilor + toate lucrurile astia trebuie precizate la toti ca sa fie egalitate de sanse( eu n-am vazut nici unde sa scrie ceva despre acest lucru )
« Ultima modificare: Martie 09, 2010, 21:37:44 de către Savin Tiberiu » Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #11 : Martie 09, 2010, 20:29:01 »

cum evaluez cu evaluatorul de pe site..... nu stiu cum dau browse la sursa
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #12 : Martie 09, 2010, 20:52:44 »

Daca sursa implemnteaza algoritmul optim => 100pct, ca functiile apelate sunt putin mai lente decat altele sunt detalii tehnice si vina este a celui care a implementat compilatorul nu a participantiilor + toate lucrurile astia trebuie precizate la toti ca sa fie egalitate de sanse( eu n-am vazut nici unde sa scrie ceva despre acest lucru )
Nu serios? Atunci de ce nu dam olimpiada pe hartie?
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #13 : Martie 09, 2010, 20:55:56 »

Din pacate, olimpiada de informatica nu inseamna doar gasirea algoritmilor potriviti pentru rezolvarea unor probleme. Numerosi alti factori intra in joc, unul dintre ei fiind compilatorul. Tuturor concurentilor li se ofera sanse egale, punandu-li-se la dispozitie aceeasi versiune, anuntata cu mult timp inainte. Uneori se intampla lucruri mai putin placute, cum a fost in cazul tau, dar trebuie sa constientizezi ca vina este a ta. O pregatire serioasa pentru olimpiada ar fi inclus studierea acestor detalii. In plus, diferentele intre functiile I/O standard C si C++ au reprezentat o problema intens dezbatuta pe infoarena si nu numai.
Nu este ok ce zici, tu afirmi ca o sursa scrisa in C ar trebui sa obtina mai mult  decat cea in C++ pt ca foloseste lucruri mai optime. Aceasta este o aberatie si nimeni, dar nimeni nu este obligat sa stie toate amanuntele despre eficienta instructiunile, mai ales un elev in clasa a 9. Daca sursa implemnteaza algoritmul optim => 100pct, ca functiile apelate sunt putin mai lente decat altele sunt detalii tehnice si vina este a celui care a implementat compilatorul nu a participantiilor + toate lucrurile astia trebuie precizate la toti ca sa fie egalitate de sanse( eu n-am vazut nici unde sa scrie ceva despre acest lucru )


Eu nu am afirmat ca o sursa in C trebuie sa obtina mai mult decat una in C++, sau ca trebuie sa cunosti toate amanuntele despre eficienta tuturor instructiunilor. Trebuie doar sa stii cum se comporta functiile pe care le folosesti. Nu poti avea pretentii din cauza ca nu ai stiut.

Corectitudinea concursului nu tine de faptul ca un program care foloseste anumite instructiuni de citire obtine mai multe sau mai putine puncte decat alt program care implementeaza acelasi algoritm, dar foloseste alte instructiuni de citire. Corectitudinea concursului tine de respectarea regulilor. Nici mai mult, nici mai putin!

Nu vreau sa fiu inteles gresit. Eu am fost intotdeauna sustinatorul mediilor de lucru moderne. In continuare voi sustine adaugarea de IDE-uri noi / updatarea compilatoarelor folosite la OJI. Dar in cazul de mai sus, comisia nu poarta nicio vina. Conditiile au fost publicate cu foarte mult timp inainte, iar regulile au fost respectate.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #14 : Martie 09, 2010, 21:14:26 »

@wefgef
De-acord ca e deplasat sa spunem ca e 'vina comisiei' . Si in niciun caz nu are treaba cu ' corectitudinea evaluarii la olimpiada de informatica '. Dar cred ca ar fi fost o dovada de profesionalism din partea comisiei sa se atraga atentia asupra acestui fapt in restrictiile problemei.

http://infoarena.ro/problema/jmenoasa  Smile Si vorbim de OJI , unde participantii sunt mai multi si mai putin experimentati decat la Algoritmiada.
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #15 : Martie 09, 2010, 21:38:17 »

Din pacate, olimpiada de informatica nu inseamna doar gasirea algoritmilor potriviti pentru rezolvarea unor probleme. Numerosi alti factori intra in joc, unul dintre ei fiind compilatorul. Tuturor concurentilor li se ofera sanse egale, punandu-li-se la dispozitie aceeasi versiune, anuntata cu mult timp inainte. Uneori se intampla lucruri mai putin placute, cum a fost in cazul tau, dar trebuie sa constientizezi ca vina este a ta. O pregatire serioasa pentru olimpiada ar fi inclus studierea acestor detalii. In plus, diferentele intre functiile I/O standard C si C++ au reprezentat o problema intens dezbatuta pe infoarena si nu numai.
Nu este ok ce zici, tu afirmi ca o sursa scrisa in C ar trebui sa obtina mai mult  decat cea in C++ pt ca foloseste lucruri mai optime. Aceasta este o aberatie si nimeni, dar nimeni nu este obligat sa stie toate amanuntele despre eficienta instructiunile, mai ales un elev in clasa a 9. Daca sursa implemnteaza algoritmul optim => 100pct, ca functiile apelate sunt putin mai lente decat altele sunt detalii tehnice si vina este a celui care a implementat compilatorul nu a participantiilor + toate lucrurile astia trebuie precizate la toti ca sa fie egalitate de sanse( eu n-am vazut nici unde sa scrie ceva despre acest lucru )

Vrei sa spui ca daca ai o problema in care ti se cere sa sorte 10 milioane de numere pana in 100 (evident se cere countsort) si tu folosesti sortul din stl si iei 0 faci contestatie ca tu nu stiai ca sortul din stl nu e de fapt countsort?

Revenind la discutie, imi pare rau pentru Teodor ca a patit asa ceva, e destul de neplacut insa nu e vina nimanui din comisie ca s-a produs asa ceva. Asa cum a afirmat si wefgef regulamentul spunea clar versiunea de mingw folosita la evaluare, ar fi trebuit sa iei in calcul asa ceva. O pregatire atenta ar fi presupus sa cunosti faptul ca sunt 2 tipuri de a citi/scrie datele, si mi se pare destul de normal sa testezi acest lucru pe compilatorul anuntat in regulament, sa vezi care din cele 2 variante e mai buna.
Memorat
Stefanaj
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #16 : Martie 09, 2010, 21:38:59 »

Unul din motivele pt care colegul meu ,teta2k, a deschis aceasta discutie este faptul ca sursa mea s-a dovedit a fi totusi cel putin la fel de buna ca cea a elevei de pe locul 1. Si poate ca anumite persoane vor comenta aceast aspect dar am testat-o de prea multe ori in prea multe feluri incat sa nu fiu absolut sigura de acest lucru. Tocmai de aceea imi permit sa afirm faptul ca a-ti interpretat gresit.Stim ca "regulile sunt reguli".Nu intotdeuna regulile sunt cele care au dreptate. Dar sunt facute pt a fi respectate,si tocmai de aceea nu s-a schimbat clasamentul .
Toata discutia aceasta a pornit de la doua idei principale,cele pe care noi incercam sa le scoatem in evidenta, pt ca daca nimeni nu spune nimic,nimeni nu aude nimic=> nimeni nu stie nimic,. Si anume:

1. Citirea din C este mai rapida decat cea din C++ (si poate nu imi da-ti dreptate, dar eu chiar nu am citit asta nicaieri, chiar daca intra in "obligatiile elevului" ,am incercat sa ma documentez dar nu ma asteptam chiar la o chestie in genul.M-am axat pe altceva...si daca citirea nu e mai rapida,va rog frumos sa ma contraziceti si sa imi argumentati.La urma urmei sunt doar o eleva de clasa a 9-a care face informatica de 6 luni de zile si care e dornica sa invete cat mai mult.Probabil ca multi dintre voi ganditi diferit fata de mine,era datoria mea sa ma documentez etc...dar nu eram obisnuita cu ideea ca "olimpiada de informatica nu inseamna doar gasirea algoritmilor potriviti pentru rezolvarea unor probleme"...si am gresit...dar sunt genul de persoana care invata din greseli Wink )

2. Compilatorul folosit la evaluare nu este cel mai bun...sau cel putin ..e bine de stiu ca mai exista un compilator mai nou care schimba total evaluarile.Ok, anul aceasta se presupune ca nu s-a stiut, sau cel putin nu s-a dat importanta, si sau facut niste reguli pe baza carora nu se poate schimba compilatorul pe ultima suta de metri... Dar anul viitor speram sa se schimbe totusi ceva.



PS:"Corectitudinea concursului nu tine de faptul ca un program care foloseste anumite instructiuni de citire obtine mai multe sau mai putine puncte decat alt program care implementeaza acelasi algoritm, dar foloseste alte instructiuni de citire. Corectitudinea concursului tine de respectarea regulilor."    in prima frazei abordezi subiectul citirii ,iar in a doua cel al compilatorului. Sunt DOUA probleme total diferite.  "comisia nu poarta nicio vina." e cam mult spus ca e vina comisiei dar ne-ar fi putut da un mic indiciu ...
« Ultima modificare: Martie 09, 2010, 21:52:59 de către Andrei Grigorean » Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #17 : Martie 09, 2010, 22:02:23 »

Eu din cauza unui contor, neinitializat cu 0, am luat 0 puncte in loc de 44 la problema 'text3'....
Pe exemplele din MinGW-OJI mi-l initializa cu 0 automat, iar pe compilatorul lor imi da memorie nealocata folosita, respectiv KBS 11. Mi se pare total unfair, ca compilatorul OJI sa nu-mi dea niciun warning  Thumb down Thumb down Thumb down Thumb down
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #18 : Martie 09, 2010, 22:04:09 »

Chestiile astea ar trebui sa le stii...e cam esential : variabilele globale se initializeaza cu 0 (null) iar cele locale trebuiesc initializate.
« Ultima modificare: Martie 09, 2010, 22:25:16 de către Gabriel Bitis » Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #19 : Martie 09, 2010, 22:07:38 »

Pai Gabriel, chestia e alta, pe compilatorul lor mi-l facea automat 0 ma.... si m-a indus in eroare...
nici n-am mai stat sa ma mai uit, daca mi-a dat pe exemple bine. in mingw oji mil facea 0 ... si nici numi intra in ciclu ca sa pot sa imi dau seama... imi dadea terminated with return code 0..nu mi se pare deloc corect
in Mingw-ul normal, ca si in borland,dev, nu iti da terminated with return code 0 ci se blocheaza pt memorie inexistenta
eu asa stiam...
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #20 : Martie 09, 2010, 22:18:08 »

@klamathix:
Din pacate nu toate problemele pot fi prevazute de catre comisie. Nimeni nu doreste ca situatiile de genul celor prezentate mai sus sa se intample.

@Stefaniaj
Imi pare rau sa aflu ca au fost multi cei care au pierdut puncte din asemenea cauze.

Legat de problemele pe care le-ai scos in evidenta:

1. In niciun caz nu trebuie sa credeti ca citirea din C va merge mai bine decat cea din C++ la olimpiada. La anul se pot schimba compilatoarele, si s-ar putea sa fie exact invers. Calea sigura de urmat este sa va testati. In timpul concursului, dupa ce ati terminat o problema, incercati sa rulati sursa pe un test maxim. Faceti o comparatie intre cele doua moduri de a citi si alegeti-o pe cea mai rapida.

2. Inca o data va spun ca in momentul in care s-a facut pachetul de OJI, am inclus compilatorul care la momentul respectiv era ultima versiune stabila. Vom discuta aspectele legate de compilatoare in curand, pentru a va aduce o versiune mai noua la OJI 2011. Si eu personal sper ca problemele pe care le-ati intampinat sa nu ramana fara ecou!

@dornescuvlad:
Eu voi incerca sa iti explic, dar am pretentia sa te documentezi de acum inainte si sa folosesti un ton adecvat. O variabila locala neinitializata poate avea orice valoare. La rulari diferite, poti obtine astfel rezultate diferite. Uneori variabila este initializata cu 0, si executia este cea pe care o astepti. Alte ori insa, rezultatele sunt complet neasteptate.
« Ultima modificare: Martie 09, 2010, 23:55:47 de către Andrei Grigorean » Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #21 : Martie 11, 2010, 07:29:17 »

am inteles, dar nu mi se pare normal...din cauza unei variabile sa pierzi 50p...
de aia exista compilator sa te avertizeze nu sa te induca in eroare :
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #22 : Martie 11, 2010, 13:24:02 »

Daca compilai cu -Wall, primeai warning pentru variabile neinitializate.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines