Cum funcționează
Este cea mai directă problemă din categoria matricilor: parcurgi tot, selectezi ce te interesează,
calculezi media. Utilitatea ei stă în media condiționată, un tipar care apare peste tot.
Cheia: ai nevoie de doi acumulatori, nu de unul.
suma — cât adună elementele care trec testul
cate — câte sunt
Media e suma / cate, nu suma / (n * n). Împărțirea se face la numărul elementelor
selectate, nu la totalul din matrice. În exemplu sunt 9 elemente, dar doar 4 strict pozitive, deci
25 / 4 = 6.25, nu 25 / 9.
Bonus: cate răspunde și la cazul NU EXISTA. Dacă a rămas 0, n-a existat niciun element strict
pozitiv — și, foarte important, verificarea previne împărțirea la zero, care ar produce un
rezultat invalid.
„Strict pozitiv" înseamnă > 0. Zeroul nu intră: în primul exemplu, a[2][0] = 0 e ignorat.
Dacă enunțul ar spune doar „pozitiv", ar fi >= 0 — citește cu atenție.
suma e double pentru că enunțul spune numere reale, iar media are oricum parte zecimală. cate
rămâne int, fiind o numărătoare.
Greșeli frecvente
- Împărțirea la
n * n — se ia în calcul toată matricea, nu doar elementele selectate. Cea mai
frecventă greșeală aici.
>= 0 în loc de > 0 — zeroul intră în calcul, strică și suma (nu), și numărătoarea (da).
- Verificarea
cate > 0 uitată — la o matrice fără elemente pozitive se face împărțire la zero.
int suma — se pierd zecimalele.
- Omiterea prefixului
ma= — enunțul îl cere explicit.