2016-03-12 16:15 GMT+02:00 Mihai Barbulescu <[email protected]>: > 2016-03-12 15:06 GMT+02:00 Bogdan Stefan via so <[email protected]>: >> Salut, >> >> Am si eu urmatoarea problema: cateva teste(20, 21, 27, 28) imi pica desi >> outputul este identic(la o inspectie vizuala). >> >> Ce e ciudat este ca daca trec output-ul programului prin comanda grep -v -e >> '^$' , diff -B nu da nicio diferenta, in caz contrar sunt niste spatii goale >> pe care nu stiu sa le interpretez(la linia indicata de el output-ul e >> identic). >> >> Nu imi dau seama care este problema, imi poate da cineva o indicatie? (Se >> pot gasi output-ul testelor pe vmchecker) >> > > Salut, > > Ce suspectez acum la o privire superficiala pe vmchecker: niste > trailing whitespaces in outputul string-ului printat (la modul > printf("cevaceva \n") si niste \n in plus unde n-ar fi cazul. > > O sa ma uit diseara cand ajung acasa mai atent cand am acces la tot ce > trebuie. >
Am rulat si testele cu tema ta si la mein...Pui foarte foarte multe linii goale in output si nu reusesc, inca, sa detectez in cod de unde apar. Care "crezi" ca e comportamentul codului tau atunci cand e citita de la intrare o linie vida/sirul vid? Desi m-as fi asteptat sa pice testul 26, de exemplu, ca ala are o linie goala. De asemenea, ce "crezi" ca face codul tau cand ai bucketuri goale in hashtable (e posibil de-aia sa apara multe linii goale)? Pun "crezi" in ghilimele pentru ca ma astept ca alea sa fie problemele. Ruleaza (cu breakpoints) prin functia ta printList individual testul 20 sa zicem, poate asa gasesti printurile care fac sirul vid. Eu nu am facut asta, am incercat vizual si ruland individual testul 20 sa vad ce si cum. Ca workaround incearca cumva la sfarsitul executiei codului/printului sa stergi trailing white-lines. O solutie ar putea fi in functia ta de print bucket sa pui totul intr-un buffer (char) si sa il verifici daca e sirul vid. -- Cu stimă, Mihai Bărbulescu _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
