Problema medie aritmetica
algoritmica, C++, cerinta, executabil, idee, medie aritmetica, modificari, problema, sursa, vector
Am 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?





Nou pe 


Comentarii la "Problema medie aritmetica"
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/ [...]