Почему когда использую одну и ту же переменную ее приходиться объявлять столько раз сколько я ее использовал?

В заранее прошу прощения за не совсем корректный вопрос.

Вот задача

Вот решение, не смотря на то что используется одна и та же переменная код запрашивает ее по к-ву использований. (По условию задания нужно ввести 1 значение "x").

Код:

#include <math.h>

//Khabdrazak Kenesary | SE-2107

/*
*/

using namespace std;

int factor (int counter) {
    int n = 1;
    cin >> counter;
    if (counter > 0) 
    { 
        for (int i = 1; i <= counter; i++) 
        { 
            n = i * n; 
        } 
    }
    return n;
}

int main() 
{
    int x;
    double res = 0;
    cin >> x;
    for (int i = 1, j = 1; i <= 7; i++)
    {
        double k = (pow(x, j) / factor(j));
            
        if (i % 2 == 0) {
            res = res - k;
        }
        else {
            res = res + k;
        }
    
        j += 2;

        cout << res;
    }

    return 0;
} ```

Ответы (1 шт):

Автор решения: Mikhailo

Развивая мысль Harry - думаю, он имел в виду следующее решение:

int main() {
    double x, s, z;
    cin >> x;
    s = z = x;
    x = -x * x;

    for (int j = 2; j <= 12; j += 2) {
        z *= x / j / (j + 1);
        s += z;
        }

    cout << s << endl;
    }
→ Ссылка