V I S U A L I Z Z A D I S C U S S I O N E |
coma |
Inserito il - 23/10/2011 : 19:26:36 Salve a tutti, sto realizzando questo piccolo esercizio assegnatoci dal nostro professore di laboratorio, nel quale ci chiede di trovare il valore del pigreco fino alla sua sesta cifra decimale e stampare il numero di termini necessari per poter raggiungere tale valore! A tal punto, ho pensato bene di effettuare il tutto, adoperando un semplice while prendendo in considerazione, come condizione, un semplice confronto fra, il mio attuale valore del pigreco, e una costante che ho definito, la quale, rappresenta il valore del pigreco che intendo raggiungere! Ho dichiarato entrambe le variabili come double e nonostante ciò, il ciclo non viene portato a termine ricadendo in un loop! Non riesco assolutamente a capire in che modo si possa ovviare al problema, che puntualmente mi si presenta ogni qualvolta voglia creare un programma che gestisca i double. Vi mostro il codice in modo da poter rendere il problema molto più esplicativo! grazie mille per l'attenzione!!:) [url=http://pastebin.com/A2zisTqR]Have a look here[/url] |
5 U L T I M E R I S P O S T E (in alto le più recenti) |
n/a |
Inserito il - 02/04/2021 : 10:12:01 ¿No te das cuenta de lo que estamos hablando? |
coma |
Inserito il - 23/10/2011 : 20:52:35 Risolto!!:) Il problema era dovuto alla eccessiva precisione nella rappresentazione decimale fornita dal tipo double, infatti, sostituendolo con float, il problema non sussiste più!:) |
coma |
Inserito il - 23/10/2011 : 19:47:44 Perdonate il doppio post, ma per una vista ho pubblicato un link vecchio, il codice di riferimento è questo! http://pastebin.com/AP6VJDNB |
coma |
Inserito il - 23/10/2011 : 19:39:30 E lo so, immaginavo fosse per quello che il ciclo non andasse! Ma come dovrei fare per risolvere questo tipo di problema? Ho provato anche con piccoli artifici come il seguente : pi <= PIGRECO + 0.0000001 && PIGRECO <= pi + 0.0000001 Ma non ho risolto alcunchè! |
ultras da tastiera |
Inserito il - 23/10/2011 : 19:33:26 Il problema è dovuto alla rappresentazione dei numeri nell'aritmetica del calcolatore La condizione che hai messo nel while è sempre falsa |