Sezione dedicata alle operazioni numeriche generali utilizzabili includendo numeric.
5.6.4: accumulate
Il comportamento standard di accumulate é quello di sommare tutti gli elementi della sequenza passata. É possibile passare un'altra operazione, ad esempio il prodotto, per ottenere differenti risultati.
Ecco un esempio di sommatoria e produttoria:
#include<algo.h>
#include<numeric>
#include<vector>
using namespace std;
int main() {
vector<int> v(10);
iota(v.begin(), v.end(), 1);
vector<int>::const_iterator last = --(v.end());
cout << "The sequence " << v[0] << ", " << v[1] << ", ..., " << *last;
cout << " has sum " << accumulate(v.begin(), v.end(), 0) << " and product ";
cout << accumulate(v.begin(), v.end(), 1L, multiplies()) << endl;
}
Nessun commento:
Posta un commento