Problema medie aritmetica
4Am dat acum cateva saptamani peste o problema destul de usoara, i-am modificat cerinta astfel incat sa o fac mai interesanta. Enjoy, it’s fun ! 😀
Problema initiala suna asa:
Se da un vector cu n elemente de tip float. Sa se transforme vectorul intr-unul care sa aiba pe pozitia i media aritmetica a elementelor, excluzandu-l pe el.
Destul de simplu de rezolvat, putem copia intr-un vector b elementele vectorului initial a. Apoi aplicam transformarile necesare.
M-am gandit sa modific enuntul :
Se da un vector cu n elemente de tip intreg. Sa se transforme vectorul intr-unul care sa aiba pe pozitia i media aritmetica a elementelor, excluzandu-l pe el. Nu se va utiliza un vector extern/auxiliar si nici un alt tablou.
Lucrurile se mai complica un pic, asa-i? Cum m-am gandit sa rezolv asta? Sa luam ca exemplu vectorul cu 5 elemente:
7 9 2 4 5
Noul vector va trebui sa arate astfel:
5 Â 4.5 6.25 5.75 5.5
Va trebui sa calculam mediile aritmetice astfel: suma tutror numerelor in afara de numarul curent / (n-1).
M-am gandit sa maresc dimeniunea vectorului de 2 ori. Si sa pun pe pozitia n+1 primul element,pe pozitia n+2 al doilea element si tot asa. Voi obtine vectorul:
7 9 2 4 5Â 7 9 2 4 5 (ceea ce este scris cu italic este ceea ce am adaugat)
Voi inlocui primele n elemente cu mediile aritmetice calculate cu ajutorul numerelor de dupa n. Solutia este simpla supa parerea mea, iar problema mi s-a parut mai simpatica dupa ce am modificat-o.
Sursa o gasiti aici .
Like it? 😀
Draguta problema pentru un incepator.Insa solutia explicata de tine nu e cea mai optima.
Eu as propune o solutie liniara.
Fie A, vectorul cu cele n elemente citite si sum = A[0] + A[1] +.. A[n-1]
Parcurgem sirul si vom avea A[i] = (sum-A[i])/(n-1)
And thats it 😀
Uuuuuuuu !!! Ce simplu :)). Nu mi-a trecut prin cap. =))
[…] http://www.worldit.info/articole/algoritmica-articole/probleme/problema-medie-aritmetica/ […]
doamne da chiar va place mate atat de mult cu faptul ca sunt cls a 5 asi am numai 9 si 10!waw!waw!