Je suis un débutant en C++ et a été affecté à écrire une fonction qui renvoie les facteurs d'un nombre. Ci-dessous, j'ai inclus la fonction que j'ai créé également appelé print_vector
imprimer tous les éléments d'un vecteur à la Console.
Dans ma mission, afin de vérifier si le factorize
fonction, il faut utiliser la test_factorize
fonction, que j'ai également inclus. Cependant, le problème que j'ai exécuté, c'est que la donnée test_factorize
ne fonctionne pas en raison de l'erreur "valeur Initiale de référence non const doit être une lvalue." Je ne suis pas sûr de ce que cela signifie et pourquoi l' test_factorize
se heurte à un problème, parce que la sortie de factorize
est un vecteur et l'entrée de print_vector
est également un vecteur, donc je ne vois pas pourquoi le contenu de test_factorize
suite à une erreur, bien que je soupçonne qu'il pourrait être quelque chose de l'intérieur de la " factoriser la fonction que j'ai défini que la cause de cette erreur.
#include <iostream>
#include <vector>
using namespace std;
void print_vector(std::vector<int>& v) {
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << endl;
}
std::vector<int> factorize(int n) {
std::vector<int> answer;
for (int i = 1;i < n + 1; ++i) {
if (n % i == 0) {
answer.push_back(i);
}
}
return answer;
}
void test_factorize() {
print_vector(factorize(2));
print_vector(factorize(72));
print_vector(factorize(196));
}