taleporos2006 Δημοσ. 29 Νοεμβρίου 2010 Δημοσ. 29 Νοεμβρίου 2010 Παιδια δεν μπορω να καταλαβω γτ δεν μου τρέχει!!! Θα τα πάρω!!!! > if (a=0) /* Periptwseis */ { μπλα μπλα.. ..... x=(-B)/(2*a); μπλα μπλα.. ..... } Solved
V.I.Smirnov Δημοσ. 29 Νοεμβρίου 2010 Δημοσ. 29 Νοεμβρίου 2010 Στα γρήγορα : 1) το if (a=0) /* Periptwseis */ να γίνει if (a==0) /* Periptwseis */ 2) το x=(-B)/(2*a); να γίνει x=(-b)/(2*a); 3) Γενικώς η απλοϊκή εφαρμογή των τύπων ενδέχεται να παρουσιάσει προβλήματα : Π.χ. εδώ για a=1.0 , b=-.2 , c=.01 υπάρχει μια διπλή ρίζα r1=r2=.1 Ωστόσο το πρόγραμμα (σε VS) δίνει δύο διαφορετικές : r1= .100023 , r2= .099977 για a=1.0 , b=1000.001 , c=1. οι αληθινές ρίζες είναι r1=-1000 , r2=-.001 όμως το πρόγραμμα δίνει δύο διαφορετικές : r1= -1000. , r2= -.001004 Υπάρχουν τέτοιες περιπτώσεις που δεν διορθώνονται ούτε με διπλή ακρίβεια (double). Σκέψου πώς πρέπει να υλοποιήσεις τον τύπο για να ελαχιστοποιήσεις τέτοια προβλήματα. Μετά από την διόρθωση των συντακτικών λαθών αυτό είναι το σημαντικό που πρέπει να μάθεις (και που οι περισσότεροι παραβλέπουν)... -
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.