Hello!

Am intampinat o problema in rezolvarea temei si in urma a cateva ore de debugging, am depistat ca unele teste imi picau din cauza formatului output-ului. Initial, am crezut ca daca un bucket al hashtable-ulului este gol, voi afisa o linie goala si atat. Din cauza acestui format unele teste ajungeau sa genereze un output, care comparat cu fisierul de referinta (cu diff -BEbwu, asa cum am observat ca este rulat si in checker), rezulta ca fiind diferit. Am verificat cu valgrind sa vad daca corup memoria, si nu am erori si nici leak-uri. Am luat un test care pica, si am sters orice nu producea eroarea si am ajuns sa compar 2 fisiere de cateva linii. Le-am comparat chiar si cu od si niciunul nu avea caractere diferite cu exceptia numarului diferit de \n. Formatul care da eroare este urmatorul:

"True\nFalse\n\n" vs "True\n\nFalse\n"

Output-ul diff pentru doua fisiere ce contin textele de mai sus este:

@@ -1,3 +1,3 @@
 True
-False

+False

Intre timp am modificat sa nu afisez bucket-urile goale din hashtable cand primesc print, si astfel iau maxim. As vrea totusi sa stiu daca intentia este sa nu afisam bucket-urile goale. De asemenea, imi poate explica cineva comportamentul diff de mai sus, pentru ca eu inteleg ca rulat cu -B, se vor ignora randurile libere.

O seara buna!

Victor
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Raspunde prin e-mail lui