Soluzione Cumulative Sum
21 Feb 2017
Soluzione Cumulative Sum
def cumulative_sum(vec)
# Controlliamo i valori in ingresso della nostra funzione
# vec deve essere un Array
# ogni elemento di vec deve essere un Numeric
# si potrebbe fare in modi più efficienti, ma per adesso va bene così
raise ArgumentError, "vec deve essere un Array" unless vec.is_a? Array
vec.each do |i|
raise ArgumentError, "vec deve contenere Numeric" unless i.is_a? Numeric
end
ret = []
# Ret è il valore che cerrà ritornato
for i in 0...vec.size
ret << vec[0]
# (-1)**1 cambia segno agli elementi dispari
for j in 1..i
ret[i] += (-1)**(j) * vec[j]
end
end
return ret
end