función std :: acumulan () con ejemplo en STL C ++

C ++ STL std :: acumulan () la función : Aquí, vamos a aprender acerca de la función de acumular () en C ++ con STL ejemplo .

C ++ STL soporta una variedad de funciones y plantillas para resolver problemas de diferentes maneras.

C ++ STL std :: acumulan (función)

:: acumulan () función std se utiliza para acumular todos los valores en el rango [primero, último] ambos inclusive a cualquier variable initial_sum .

class operación que se acumula do función es la adición de todos los elementos, pero diferentes operaciones se puede realizar.

Sintaxis de acumular () Función:

    accumulate(start, end, initial_sum);

Aquí,

  • iniciar : es la posición inicial del iterador
  • extremo : es la última posición de la iterador.

Nota: Un argumento adicional también se puede transmitir en la función de acumular el cual especifica el tipo de operación a realizar. función

Sintaxis de acumular () con el argumento adicional:

    accumulate(start, end, initial_sum, func);

Aquí, func es la operación adicional que se va a realizar.

programa en C ++ para demostrar ejemplo de std :: acumulan () función

#include <bits/stdc++.h>
#include <vector>
using namespace std;
int main()
{
// Initialization of vector
vector<int> vec{1,2,3,4,5,6,7,8,9};
// Taking initial sum as 0
int sum = 0;
cout << "n Initial value of sum = " << sum << endl;
// Demonstration of accumulate function
// to sum all the elements of the vector
sum = accumulate(vec.begin(), vec.end(), sum);
cout << " Value of sum after accumulate = " << sum << endl;
// Changing value of initial_sum to 50
sum = 50;
cout << "n Initial value of sum = " << sum << endl;
// Demonstration of accumulate function
// with the additional argument
// Here additional argument is used to
// subtract all the elements from the
// initial sum. Additional argument can be
// any valid function or operation
sum = accumulate(vec.begin(), vec.end(), sum, minus<int>());
cout << " Value of sum after accumulate function with optional argument = " << sum << endl;
return 0;
}

salida

 Initial value of sum = 0
Value of sum after accumulate = 45
Initial value of sum = 50
Value of sum after accumulate function with optional argument = 5


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *