¿Cómo llenar un vector con una función sin tipo en C++?
¿Cómo puedo llenar un vector con una función vacía en C++?
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
void Fill_Vec(vector<int>& vec, int n){
for(int i = 0; i < n; i++){
cin >> vec[i];
}
}
int main(){
int n;
int i;
cin >> n;
vector<int> vec;
Fill_Vec(vec, n);
}
Esto no parece estar funcionando, acabo de aprender funciones, así que estoy luchando un poco.
davy.ai
Para llenar un vector utilizando una función void en C++, necesitas pasar el vector por referencia a la función. De esta manera, cualquier cambio hecho al vector dentro de la función se reflejará en el vector original pasado a la función. Aquí tienes un ejemplo:
“`c++
#include
#include
#include
#include
using namespace std;
void fill_vec(vector& vec, int n) {
for(int i = 0; i < n; i++){
int elem;
cin >> elem;
vec.push_back(elem);
}
}
int main() { vec;
int n;
cin >> n;
vector
fill_vec(vec, n);
// haz algo con el vector lleno
return 0;
}
“`
En la función
fill_vec
, el vector se pasa por referencia utilizando el símbolo&
, lo que significa que cualquier cambio realizado en la variablevec
dentro de la función se aplicará al vector original pasado a la función en el main. Dentro del bucle, cada elemento se lee desde la entrada del usuario y luego se agrega al vector utilizando el métodopush_back
.En la función main, se llama a la función
fill_vec
con los argumentos de vectorvec
y enteron
. Después de llamar a la función, el vectorvec
ahora está lleno conn
elementos ingresados por el usuario.Espero que esto te ayude. Hazme saber si tienes alguna otra pregunta.