smoothing.cpp
#define USECHRONO
#include <cassert>
#include <climits>
#include <cstdlib>
#include <stack>
#include <map>
#include <numeric>
#include "eval.hpp"
/* COMIENZO DE DESCRIPCION
__USE_WIKI__
Dada una lista de enteros #L,# se pide que implemente un
filtro de suavizado de ventana fija de tamano #w,# con las
siguientes caracteristicas: El primer elemento sera el
promedio (en division entera) de los primeros #w# elementos
de #L,# El segundo sera el promedio desde el 2 elemento al
#w+1# en general, el elemento en la posicion #N# de la lista
resultado, sera el promedio entre los elementos #[N,w+N)#
de #L.#
[Tomado en el Trabajo Practico de Laboratorio 1
(TPL1) de 2020-09-24]
keywords: lista
FIN DE DESCRIPCION */
using namespace aed;
using namespace std;
list<int> smoothing (list<int>& L, int w){
list<int> R;
list<int>::iterator it = L.begin();
list<int> Laux;
for(;it!=L.end();it++){
Laux.push_back(*it);
if(Laux.size()==w){
R.push_back(accumulate(Laux.begin(),Laux.end(),0)/w);
Laux.pop_front();
}
}
return R;
}
//---:---<*>---:---<*>---:---<*>---:---<*>---:---<*>
int main() {
Eval ev;
int vrbs = 0;
ev.eval<1>(smoothing,vrbs);
return 0;
}
Generated by GNU Enscript 1.6.6.