17/10/2019, 23:15
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
double pi, e;
int n,j;
cout << "Scrivere il valore di epsilon:\n";
cin >> e;
for ( j=0; j > ((4/e)-(1/2)); j++ )
pi=pi+((pow(-1,j))*4/(2*j+1));
cout << pi;
return 0;
}
18/10/2019, 09:50
pi
non è inizializzata. Quindi teoricamente assume valori casuali all'inizio.j > ((4 / e) - (1 / 2))
è falsa per j = 0
, quindi non entra nel ciclo. Nota inoltre che è meglio usare una variabile e cambiargli il segno invece di usare pow
. Inoltre, non usi la variabile n
, e puoi definire j
direttamente nel for
.
18/10/2019, 10:11
double pi = 0.; // initial value
double delta = 1.;
double sign = 1.;
for (double delta = 1.; e * delta < 1.; delta += 2., sign *= -1.)
{
pi += sign / delta;
}
pi *= 4;
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.