Vector nie wypisuje wartosci

0

Hej,
Dlaczego vector w poniższym kodzie nie wypisuje żadnych wartości?

void czynniki(int n)
{
    int g,i;
    g = sqrt(n);
    vector<int> a;
    for(i = 2; i <= g; i++)
    {
        while(n % i == 0)
        {
            a.push_back(i);
            n /= i;
        }
        if(n == 1)
        {
            cout << endl;
            return;
        }
    }

    for(int i=0; i<a.size(); i++)
    {
        cout << a.at(i) << " ";
    }
}
2

Jak widać n zjeżdża do jeden i tam gdzie Masz return (pod if (n == 0)) funkcja wraca i reszta się nie wykonuje.

0
lion137 napisał(a):

Jak widać n zjeżdża do jeden i tam gdzie Masz return (pod if (n == 0)) funkcja wraca i reszta się nie wykonuje.

Wywaliłem tego if'a i teraz śmiga ładnie. Dzięki!

0

Wypisuje. Np. dla n = 10 wypisuje 2.

1 użytkowników online, w tym zalogowanych: 0, gości: 1