•dornescuvlad
|
|
« : Martie 04, 2011, 12:41:43 » |
|
Salut. Nu pot face debug cum trebuie la un cod.Daca vreau sa vad ce valoare are it->second pentru un anumit iterator, in fereastra cu watches imi apare "There is no member or method named first/second". Am incercat si cu punct si cu sageata si nimic. Declararile sunt urmatoarele : set< pair <int, int> > ships; set< pair <int, int> >::iterator it, it2;
Am mai folosit STL si vector,set cu pair dar n-am mai patit asta niciodata.
|
|
|
Memorat
|
|
|
|
•gabitzish1
|
|
« Răspunde #1 : Martie 04, 2011, 12:55:39 » |
|
Nu merge sa atibui valoarea it->second unei variabile, si sa urmaresti valoarea acelei variabile?
|
|
|
Memorat
|
|
|
|
•dornescuvlad
|
|
« Răspunde #2 : Martie 04, 2011, 12:57:44 » |
|
Nu merge sa urmaresc. Fac ceva de genul : if(it != ships.end() && it -> second > y) fout << "-1\n"; else { it2 = it; for(;it2 != ships.begin() && it2 -> second < y; --it2); ships.erase(it2, it); ships.insert(make_pair(x, y)); fout << ships.size() << "\n"; }
Nu pot face debug cum trebuie, nu vad niciodata valoarea lui it2->second ca sa vad daca e mai mica, mai mare decat y.
|
|
|
Memorat
|
|
|
|
•devilkind
|
|
« Răspunde #3 : Martie 04, 2011, 13:23:58 » |
|
Incearca (*it).second
|
|
|
Memorat
|
|
|
|
•dornescuvlad
|
|
« Răspunde #4 : Martie 04, 2011, 13:26:57 » |
|
"One of the arguments you tried to pass to operator* could not be converted to what the function wants."
|
|
|
Memorat
|
|
|
|
•DraStiK
|
|
« Răspunde #5 : Martie 04, 2011, 14:01:48 » |
|
Incearca doar: O sa mearga, iti va arata un pair in watch.
|
|
|
Memorat
|
|
|
|
•dornescuvlad
|
|
« Răspunde #6 : Martie 04, 2011, 14:08:49 » |
|
Acelasi lucru mi-l spune.
|
|
|
Memorat
|
|
|
|
•toni2007
|
|
« Răspunde #7 : Martie 04, 2011, 15:44:33 » |
|
Lasa debugger-ul... Invata sa debuggezi cu printf-uri.
|
|
« Ultima modificare: Martie 08, 2011, 08:28:24 de către Pripoae Teodor Anton »
|
Memorat
|
|
|
|
•Bit_Master
|
|
« Răspunde #8 : Martie 07, 2011, 18:17:27 » |
|
Lasa debugger-ul,,, Invata sa debuggezi cu printf-uri.
e mai productiv cu debugger decat cu printf lucreaza in MinGW?
|
|
« Ultima modificare: Martie 07, 2011, 18:30:42 de către Alexandru-Iancu Caragicu »
|
Memorat
|
|
|
|
•dornescuvlad
|
|
« Răspunde #9 : Martie 07, 2011, 18:31:30 » |
|
Da, lucrez in MinGW. E mai productiv sa ma intrebi pe mine, decat pe el.
|
|
|
Memorat
|
|
|
|
•devilkind
|
|
« Răspunde #10 : Martie 07, 2011, 19:22:34 » |
|
[offtopic] Debuggerul nu e neaparat mai productiv.
Observ din ce in ce mai mult o tendinta a elevilor in romania de a nu mai pune mare importanta pe implementare. Am vazut elevi care doar citeau problema, scoteau solutia si nu o mai implementau. Sau cand implementau stateau cu mii de variabile in watch. Si dupa olimpiada va plangeti toti si faceti clasamente cu cat ati fi avut daca nu ati fi busit implementarea. Sau elevi care ziceau ca "am luat 100 dar daca nu busheam luam 250 si intram in lot". Hai sa va zic o chestie. Busheala face parte din skill, un skill care se creaza implementand multe probleme si obisnuindu-va sa scrieti problema curat din prima. De acea e mai ok sa folosesti printf-uri in loc de debugger. O sa va obisnuiti sa va ganditi codul in timp ce il scrieti, sa nu mai scrieti chestii de aiurea in cod avand in cap ca "daca e gresit o sa il vad cu debuggeru". Inteleg sa il folositi in concurs, cand chiar conteaza sa iti gasesti repede greseala, insa cand esti acasa si nu te preseaza nimeni va recomand sa folositi printf. E un fel de a antrena cu o mana la spate. [/offtopic]
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
|
« Răspunde #11 : Martie 07, 2011, 19:47:31 » |
|
OFF : Sunt de acord cu Savin, watch-urile sunt greu de observat si in plus de asta este greu pana tot repeti programul de atatea ori. Un printf e mult mai util in cazurile astea.
|
|
|
Memorat
|
|
|
|
|