Eu sunt un incepator la C++ și a fost repartizat pentru a scrie o funcție care returnează factorilor de un număr. Mai jos, am inclus funcția-am creat, de asemenea, numit print_vector
care se va imprima toate elementele unui vector la Consola.
În misiunea mea, în scopul de a verifica dacă factorize
funcția este de lucru, trebuie să utilizați test_factorize
funcția furnizate, care trebuie, de asemenea, incluse. Cu toate acestea, problema pe care am rula în este care a dat test_factorize
nu merge din cauza de eroare "valoarea Inițială de referință de la un non-const trebuie să fie un lvalue." Nu sunt sigur ce înseamnă asta și de ce test_factorize
se execută într-o problemă, deoarece producția de factorize
este un vector și de intrare de print_vector
este, de asemenea, un vector, deci nu văd de ce conținutul de test_factorize
rezulta într-o eroare, deși bănuiesc că ar putea fi ceva în `factorize' am definit funcția care determină această eroare.
#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));
}