Mai intai trebuie sa te autentifici.
Diferente pentru blog/buguri-frecvente intre reviziile #20 si #26
Nu exista diferente intre titluri.
Diferente intre continut:
Se apropie ONI sim-am ganditca e utila o lista cu buguri frecventein concursuriledeprogramare.
Se apropie ONI si cred ca e utila o lista cu buguri frecvente. So here it goes:
* *Probleme in timpul implementarii:*
** inversarea indicilor in iterarea unei matrici a[j][i] ** Punct si virgula la final de linie dupa un for
** greseli la copy paste. ** inversarea indicilor la iterarea unei matrici (a[j][i]). ** punct si virgula la final de linie dupa un for.
for(i = 0; i < n; i++);
ceva cod ** refolosirea unui index
ceva cod care se va executa doar o data ** refolosirea unui index in interiorul unor foruri imbricate
for (i = 0; i < n; i++) for (i = 0; i < m; i++) // i in loc de j ** folosirea lui = in locul lui == ** comparare de stringuri cu == in loc de strcmp
** functia % nu functioneazaexact la fel cufunctia modulo din matematica. Astfel daca scazi numere modulo X poti ajunge la resturi negative(caz frecvent: hashing pe string-uri)
** functia % nu functioneaza ca functia modulo din matematica. Astfel daca scazi numere modulo X poti ajunge la resturi negative.
Sunt gasite de obicei la depanare. * *Probleme cu memoria:*
** variabile neinitializate- cand programul are comportament diferit la rulari diferite, una dintre probleme ar initializarea variabilelor. **declarat array-uri de dimensiune de prea mica ** off by one errors,frecventapar probleme cu datele pornindde la 0 sau 1
** variabile neinitializate. ** array-uri de dimensiune de prea mica. ** off by one errors. Datele pornesc de la 0 sau 1?
Sunt de greu de gasit. * *Probleme cu tipuri de date:*
** folosire de tipuri prea micideexempluint in loc de long long sau float in loc de double ** probleme cu tipurile intermediare
** folosire de tipuri prea mici (ex. int in loc de long long sau float in loc de double). ** probleme cu tipurile intermediare.
_gresit:_ int a, b; long long c = a * b; // c va avea valoarea unui int _corect:_ long long c = ((long long) a) * b; _gresit:_ double half = 1 / 2;
Foarte frustrante. Pierzi toate punctele pentru un algoritm aproape de forma corecta. * *Intrare/Iesire:*
** fisier de intrare sau iesire gresit ** formatarea gresita (cate un spatiu in loc de virgula, sau mai stiu eu ce) ** uitat ca anumite probleme cer rezultatul modulo X
** fisier de intrare sau iesire gresit ca urmare a depanarii intermediare. ** formatarea gresita (cate un spatiu in loc de virgula, sau uiti ca trebuie sa returnezi rezultatul modulo X)
Le faci cand problema merge aproape perfect si te-ai grabit sa trimiti solutia. * *Greseli la algoritm:* ** incepatorii se arunca sa implementeze prima idee, inainte sa se asigure ca e corecta. ** probleme pe cazuri extreme, mici: gen n = 1, 2 sau mari unde iesi din memorie. ** strlen(s) are complexitate O(n) nu O(1).
** graful nu e neaparat conex si toate exemplele au fost grafuri conexe.
** rezultatul are nevoie de numere mai mari decat poate reprezenta limbajul de programare.
** graful nu e neaparat conex si toate exemplele au fost grafuri conexe.
Faceti o lista cu bugurile cu care v-ati intalnit ca sa va dati seama care sunt cele mai frecvente pentru voi. In concursurile online e foarte utila o asemenea lista.
Voua ce buguri v-au dat dureri de cap?
Diferente intre securitate:
private
protected
Diferente intre topic forum:
7529