Implementa una acció ITERATIVA que, donada una llista d’enters l i un natural k, torni una altra llista amb les mitjanes de cada subllista de mida k començant pel principi de la llista.
La capçalera de l’acció és la següent:
Per exemple, si ens passen la llista [33, 12, 18, 32, 6, 11, 2] i k=3
les subllistes de mida 3 serien:
| [ | 33, | 12, | 18, | 32, | 6, | 11, | 2 | ] | |
| [ 33, | 12, | 18 ] | 21 | ||||||
| [ 12, | 18, | 32 ] | 20.6667 | ||||||
| [ 18, | 32, | 6 ] | 18.6667 | ||||||
| [ 32, | 6, | 11 ] | 16.3333 | ||||||
| [ 6, | 11, | 2 ] | 6.33333 | ||||||
Per tant, la llista que conté la mitjana de cada subllista és:
[21, 20.6667, 18.6667, 16.3333, 6.33333].
Observació Només cal enviar el procediment demanat; el programa principal serà ignorat.
Observació
Les subrutines que creïs han de treballar només amb llistes (la classe list de la biblioteca STL). Has de trobar una solució ITERATIVA i eficient del problema. En particular, no hi hauria d’haver cap crida recursiva en cap de les subrutines que implementis. Si crees subrutines auxiliars, afegeix-hi les corresponents Pre i Post. En els bucles inclou l’invariant del bucle i la funció de fita.
Input/Output