Los vectores son arrays dinámicas con la capacidad de cambiar su tamaño automáticamente cuando se inserta o elimina un elemento, y el contenedor maneja automáticamente su almacenamiento . También se puede crear con valor aleatorio usando la función generar y la función rand().
A continuación se muestra la plantilla de ambas funciones STL :
Sintaxis:
int rand(void): Devuelve un número pseudoaleatorio en el rango de 0 a RAND_MAX .
RAND_MAX: es una constante cuyo valor predeterminado puede variar entre implementaciones, pero se garantiza que sea al menos 32767.
void generar (ForwardIterator primero, ForwardIterator último, Generator gen)
dónde,
- primero: Reenviar iterador apuntando al primer elemento del contenedor.
- último: Reenviar iterador apuntando al último elemento del contenedor.
- gen: una función generadora, en función de la cual se asignarán los valores.
- Valor de retorno: ya que tiene un tipo de retorno nulo, por lo que no devuelve ningún valor.
Para tener diferentes vectores aleatorios cada vez, ejecuta este programa, la idea es usar la función srand() . De lo contrario, el vector de salida será el mismo después de cada compilación.
Sintaxis:
void srand (semilla sin firmar): esta función genera el generador de números pseudoaleatorios utilizado por rand() con el valor semilla.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to generate the vector // with random values #include <bits/stdc++.h> using namespace std; // Driver Code int main() { // Size of vector int size = 5; // Initialize the vector with // initial values as 0 vector<int> V(size, 0); // use srand() for different outputs srand(time(0)); // Generate value using generate // function generate(V.begin(), V.end(), rand); cout << "The elements of vector are:\n"; // Print the values in the vector for (int i = 0; i < size; i++) { cout << V[i] << " "; } return 0; }
The elements of vector are: 995552582 698831766 2088692742 1348138651 64302615
Publicación traducida automáticamente
Artículo escrito por instantramen y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA