Stilewag Δημοσ. 11 Απριλίου 2005 Δημοσ. 11 Απριλίου 2005 C/C++: pws diairw dyo arithmous? ..oxi to akeraio i to ipolipo, tin diairesi se float ta % kai / dinoun to ypolypo akeraio meros tis diairesis psaxnw to 1/2=0.5 Akougetai kouto, alla den mporw na to vrw sto help!
daidalus Δημοσ. 11 Απριλίου 2005 Δημοσ. 11 Απριλίου 2005 Αν είναι μεταβλητές δήλωσε την μια από τις δύο ως double (ή float) αλλιώς δοκίμασε το 1./2 (πρόσεξε την τελεία στον αριθμό 1)
Legionnaire Δημοσ. 12 Απριλίου 2005 Δημοσ. 12 Απριλίου 2005 Σημασία έχει τι τύπο χρησιμοποιείς για το αποτέλεσμα της πράξης. Αν δηλαδή έχεις μια έκφραση του στυλ int a = 1/2 τότε θα σου βγάλει a = 0!! Θα πρέπει λοιπόν η μεταβλητή θα είναι double ή float ώστε να μπορεί να διαχειριστεί δεκαδικούς αριθμούς. Αυτό το "κόλπο" με την τελεία απλά γράφει τον αριθμό 1 ως 1.0 αλλά και πάλι τα πράγματα δεν αλλάζουν (σχετικά με τα παραπάνω).
gerontas Δημοσ. 12 Απριλίου 2005 Δημοσ. 12 Απριλίου 2005 Οπως είδες, πολύ σωστά τα λέει ο daidalus. Αν όμως δεν έχεις διαίρεση σταθερών, ή θα δηλώσεις τη μια μεταβλητη πραγματική όπως λέει παρακάτω, ή θα κάνεις type casting στο δεξί σκέλος. Π.χ. > unsigned long i; float Cent; Cent = (float)i / FileSize;
Stilewag Δημοσ. 12 Απριλίου 2005 Μέλος Δημοσ. 12 Απριλίου 2005 nai, einai float, to programma etrekse mia xara se kapoio arthro to exa diavasei pws i C kanei kai epitopou metatropes gia tetoies katastaseis (type casting) efxaristw an kai mporesa na diairesw akeraious (me type casting), to provlima mou einai pws den mporw na kanw tin diairesi me enan int (type casted) o opoios alazei mesa se ena for. an exete tin diathesi elekste afto to thread: http://www.insomnia.gr/vb3/showthread.php?t=106504 ...afto pou ithela na petyxw einai to na deixnw ena progress tou programmatos, alla afto den ginotan xwris diairesi
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.