kanarinaki Δημοσ. 24 Φεβρουαρίου 2009 Δημοσ. 24 Φεβρουαρίου 2009 καλησπέρα θα ήθελα να ρωτήσω πώς μπορώ να διαιρέσω 2 πραγματικούς αριθμούς και το αποτέλεσμα να εκτυπώνεται με ακρίβεια k σημαντικών ψηφίων.το k το ορίζω ως είσοδο. double n,d,z; int k; n=GetReal(); d=GetReal(); k=GetInteger(); z=n/d; printf("To apotelesma: %f", z);
PCharon Δημοσ. 24 Φεβρουαρίου 2009 Δημοσ. 24 Φεβρουαρίου 2009 > double n,d,z; unsigned int k; n=GetReal(); d=GetReal(); k=GetInteger(); z=n/d; char format[100]; sprintf(format, "To apotelesma: %%.%if", k); printf(format, z); Να ξέρεις όμως πως το k έχει κάποιο "φυσικό" περιορισμό, αφού τα double έχουν μέγεθος 64bit. Για παράδειγμα δοκίμασε: n=10; d=3; k=20;
kanarinaki Δημοσ. 24 Φεβρουαρίου 2009 Μέλος Δημοσ. 24 Φεβρουαρίου 2009 σε ευχαριστώ πάρα πολύ.2 μέρες παιδεύομαι.μία κόβω τον αριθμό στα δύο, μία το κάνω αλφαριθμητικό... αλλά τίποτα.όλο σφάλμα βγάζει.όσο για τον περιορισμό ναι το ξέρω.και πάλι σε ευχαριστώ
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.