antonis_wrx Δημοσ. 25 Δεκεμβρίου 2005 Δημοσ. 25 Δεκεμβρίου 2005 Τι πρόβλημα υπάρχει στην επικεφαλλίδα και στο κάλεσμα της συνάρτησης f? complex newton(complex (*f) (complex,double,int), complex z, double pz[MAX], double pdz[MAX], int va8mos) { double a=f(z,pz,va8mos); /*σειρά 10*/ double b=f(z,pdz,va8mos-1); /*σειρά 11*/ .... .. } complex f(complex z, double p[MAX], int va8mos) ο compiler βγάζει: ask2.c: In function `newton': ask2.c:10: error: incompatible type for argument 2 of indirect function call ask2.c:11: error: incompatible type for argument 2 of indirect function call
powerfty Δημοσ. 26 Δεκεμβρίου 2005 Δημοσ. 26 Δεκεμβρίου 2005 Prepei na elegkseis an to deutero orisma stin f, f(z,pz,va8mos) to pz, einai ontws typou double kai oxi kati allo. To idio kai stin apokatw grammi. Kai deuteron nomizw pws prepei na oriseis tin synartisi f prin tin xrisimopoihseis san call stin synartisi newton. Episeis exeis apo ena lathos stis 10 kai 11 oswn afora to ti epistrefei h f. Ston orismo les pws epistrefei complex enw stin newton zitas double. Lathos auto! Tsekare ta kai pes mou an trexei meta h sou vgazei kai allo lathos
georgemarios Δημοσ. 26 Δεκεμβρίου 2005 Δημοσ. 26 Δεκεμβρίου 2005 το 1ο ορισμα της newton ειναι το complex (*f) (complex,double,int) ok? Αρα οταν μεσα στη newton καλεις f(z,pz,va8mos), καλεις ουσιαστικα αυτο το πρωτο ορισμα, και οχι την f που εχεις κατω-κατω...... και πραγματι τα ορισματα ειναι διαφορετικα γιαυτο και ο compiler παραπονιεται. Αλλαξε το ονομα του ορισματος ή της συναρτησης.... και οπως λεει ο powerfly ορισε την f πρωτη εκτος και αν εχεις καπου πιο πανω τα prototypes τους....
antonis_wrx Δημοσ. 26 Δεκεμβρίου 2005 Μέλος Δημοσ. 26 Δεκεμβρίου 2005 όντως αυτό η σειρά έφταιγε, ευχαριστώ παιδιά. Κάτι άσχετο, τι σημαίνει όταν ένα πρόγραμμα που τρέχει βγάζει Floating point exception?
Sta Δημοσ. 26 Δεκεμβρίου 2005 Δημοσ. 26 Δεκεμβρίου 2005 Συμβαίνει για διάφορους λόγους, όπως π.χ.: Division by Zero, overflow, invalid operation κ.τλ. Δείξε κώδικα ή κάνε debugging.
Papajohn Δημοσ. 27 Δεκεμβρίου 2005 Δημοσ. 27 Δεκεμβρίου 2005 Αντώνη έχεις τρελαθεί στην αριθμητική ανάλυση εε;;
antonis_wrx Δημοσ. 29 Δεκεμβρίου 2005 Μέλος Δημοσ. 29 Δεκεμβρίου 2005 χεχε!!όλοι ηλεκτρολόγοι είμαστε εδώ μέσα? τελικά μλκια είπα όμως, δεν διορθωθηκε: [antonis@localhost analush]$ gcc -o ask2.exe ask2.c -lm ask2.c: In function `newton': ask2.c:21: error: incompatible type for argument 2 of indirect function call ask2.c:22: error: incompatible type for argument 2 of indirect function call --- complex f(complex z, double p[MAX], int va8mos) { int j; .... } complex newton(complex (*f) (complex,double,int), complex z, double pz[MAX], double pdz[MAX], int va8mos) { complex a=f(z,pz,va8mos); /*21*/ complex b=f(z,pdz,va8mos-1); /*22*/ ..... }
Sta Δημοσ. 29 Δεκεμβρίου 2005 Δημοσ. 29 Δεκεμβρίου 2005 Η συνάρτηση που περνάς μέσω δείκτη στη newton πρέπει να έχει δεύτερο όρισμα double[], δηλαδή δείκτη προς double και όχι double: complex f(complex z, double p[MAX], int va8mos) { int j; .... } complex newton(complex (*f) (complex,double[],int), complex z, double pz[MAX], double pdz[MAX], int va8mos) { complex a=f(z,pz,va8mos); /*21*/ complex b=f(z,pdz,va8mos-1); /*22*/ ..... }
antonis_wrx Δημοσ. 30 Δεκεμβρίου 2005 Μέλος Δημοσ. 30 Δεκεμβρίου 2005 ωραίος φίλε sta! Ευχαριστώ πολύ!
antonis_wrx Δημοσ. 6 Ιανουαρίου 2006 Μέλος Δημοσ. 6 Ιανουαρίου 2006 for (i=0;i<dim;i++) for (j=0;j<dim;j++) a[j]=(1/i+j+1); κάποιος να μου πει γιατί μου βγάζει έδω floating point exception? i,j,dim: int, a[max][max] double
bird Δημοσ. 6 Ιανουαρίου 2006 Δημοσ. 6 Ιανουαρίου 2006 prepei na grapseis a[j] = ( 1/(i+j+1) ) Etsi opws to exeis grapsei diairei me to i mono pou einai mhden sthn arxh
antonis_wrx Δημοσ. 6 Ιανουαρίου 2006 Μέλος Δημοσ. 6 Ιανουαρίου 2006 σωστό αλλά και πάλι εμφανίζει άλλα για άλλα (για dim=3) 1.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
bird Δημοσ. 6 Ιανουαρίου 2006 Δημοσ. 6 Ιανουαρίου 2006 dokimase to a[j] = (1./(double)(i+j+1)) (Douleyei kai apla me to a[j] = 1/(i+j+1.) )
antonis_wrx Δημοσ. 6 Ιανουαρίου 2006 Μέλος Δημοσ. 6 Ιανουαρίου 2006 δούλεψε!!! Μην ανησυχείται προβλέπω να επανέρχομαι με απορίες!! :ρ
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.