Bueno, reconociendo el término general de la sumatoria (algo que siempre es bueno hacer):
4 * (-1)^n
--------------
2 * (n - 1)
para n desde 1 hasta infinito (o hasta el máximo N impuesto por el usuario), quedaría el código siguiente donde la idea (debida a leosansan en un post similar) de usar una bandera de signo que conmute de +1 a -1 en cada iteración nos evita tener que estar viendo si n es par o impar, quedaría:
donde el punto en "4." obliga la división entre doubles en lugar de enteros (gracias de nuevo por la acotación leosansan).
4 * (-1)^n
--------------
2 * (n - 1)
para n desde 1 hasta infinito (o hasta el máximo N impuesto por el usuario), quedaría el código siguiente donde la idea (debida a leosansan en un post similar) de usar una bandera de signo que conmute de +1 a -1 en cada iteración nos evita tener que estar viendo si n es par o impar, quedaría:
Código (cpp) [Seleccionar]
int main()
{
double numero;
int n, N;
int signo;
cout << "numero de terminos: ";
cin >> N;
cout << endl;
numero = 4;
signo = -1;
for ( n = 1; n <= N; i++, signo*=-1 ) {
cout << "a[" << i << "] = " << numero << endl;
numero += signo * 4. / (2*n + 1);
}
return 0;
}
donde el punto en "4." obliga la división entre doubles en lugar de enteros (gracias de nuevo por la acotación leosansan).