Προς το περιεχόμενο

Δεν μπορω να βρωτο λαθος - C


taleporos2006

Προτεινόμενες αναρτήσεις

Δημοσ.

Στα γρήγορα :

 

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).

Σκέψου πώς πρέπει να υλοποιήσεις τον τύπο για να ελαχιστοποιήσεις τέτοια προβλήματα.

Μετά από την διόρθωση των συντακτικών λαθών αυτό είναι το σημαντικό που

πρέπει να μάθεις (και που οι περισσότεροι παραβλέπουν)...

 

-

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...