>Alexan<
03-09-2011, 13:45
Ciao a tutti! sono alle prime armi nella programmazione in C++... 
per esercizio ho scritto un programmino che calcola il valore di pi greco con la precisione voluta. il problema è che vorrei visualizzare più di 6 cifre significative, ma pur impostando le variabili in double il numero di cifre mostrate non cambia!
il codice è il seguente:
#include <math.h>
#include <iostream>
using namespace std;
main()
{
int i=1;double pi_ben_ecc=4,pi_ben_dif=2*sqrt(2),pi_mal_ecc=4,pi_mal_dif=2*sqrt(2),epsilon;
cout << "\n\n inserire l'errore desiderato\n\n epsilon = ";cin >> epsilon;
while (pi_ben_ecc-pi_ben_dif>epsilon)
{
pi_ben_dif=(2*pi_ben_dif)/sqrt(2+sqrt(4-pow(pi_ben_dif/(pow(2,i)),2)));
pi_ben_ecc=(2*pi_ben_dif)/(sqrt(4-pow((pi_ben_dif/(pow(2,i))),2)));
pi_mal_dif=pow(2,(i+1))*sqrt(2-sqrt(4-(pi_mal_dif)/(pow(2,i))));
pi_mal_ecc=(2*pi_mal_dif)/(sqrt(4-pow((pi_mal_dif/(pow(2,i))),2)));
i++;
}
cout << "\n\n\n le approssimazioni per eccesso e per difetto di pi greco\n determinate attraverso l'algoritmo di archimede ben condizionato\n dopo " << i << " iterazioni sono:\n\n per eccesso: " << pi_ben_ecc << "\n per difetto: " << pi_ben_dif;
cout << "\n\n\n le approssimazioni per eccesso e per difetto di pi greco\n determinate attraverso l'algoritmo di archimede mal condizionato\n dopo " << i << " iterazioni sono:\n\n per eccesso: " << pi_mal_ecc << "\n per difetto: " << pi_mal_dif << "\n\n\n";
return 0;
}
se vi aiuta a darmi una mano programmo su linux e compilo con GPP. grazie a tutti
per esercizio ho scritto un programmino che calcola il valore di pi greco con la precisione voluta. il problema è che vorrei visualizzare più di 6 cifre significative, ma pur impostando le variabili in double il numero di cifre mostrate non cambia!
il codice è il seguente:
#include <math.h>
#include <iostream>
using namespace std;
main()
{
int i=1;double pi_ben_ecc=4,pi_ben_dif=2*sqrt(2),pi_mal_ecc=4,pi_mal_dif=2*sqrt(2),epsilon;
cout << "\n\n inserire l'errore desiderato\n\n epsilon = ";cin >> epsilon;
while (pi_ben_ecc-pi_ben_dif>epsilon)
{
pi_ben_dif=(2*pi_ben_dif)/sqrt(2+sqrt(4-pow(pi_ben_dif/(pow(2,i)),2)));
pi_ben_ecc=(2*pi_ben_dif)/(sqrt(4-pow((pi_ben_dif/(pow(2,i))),2)));
pi_mal_dif=pow(2,(i+1))*sqrt(2-sqrt(4-(pi_mal_dif)/(pow(2,i))));
pi_mal_ecc=(2*pi_mal_dif)/(sqrt(4-pow((pi_mal_dif/(pow(2,i))),2)));
i++;
}
cout << "\n\n\n le approssimazioni per eccesso e per difetto di pi greco\n determinate attraverso l'algoritmo di archimede ben condizionato\n dopo " << i << " iterazioni sono:\n\n per eccesso: " << pi_ben_ecc << "\n per difetto: " << pi_ben_dif;
cout << "\n\n\n le approssimazioni per eccesso e per difetto di pi greco\n determinate attraverso l'algoritmo di archimede mal condizionato\n dopo " << i << " iterazioni sono:\n\n per eccesso: " << pi_mal_ecc << "\n per difetto: " << pi_mal_dif << "\n\n\n";
return 0;
}
se vi aiuta a darmi una mano programmo su linux e compilo con GPP. grazie a tutti