Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2015
    Messaggi
    3

    [C] Passaggio di una funzione matematica

    Ciao a tutti!
    Ho un problema, devo implementare un integratore automatico. Ho già scritto il programma solo che non riesco a capire come passare la funzione da integrare. Se il prototipo è :

    codice:
    INTEGRATORE(float x, float y, float *val, float *errore,int *n, int maxit, float toll, float f(float));
    Come gli passo l'equazione 1/(x^2+1)?

    Io avevo rpovato a dichiararla a parte così :

    codice:
    float f(float x) {
        float y;
        y = 4/(1+ pow(x,2));
        return y;
    }
    Ma evidentemente non va bene perchè mi da questo errore di compilazione:

    codice:
    error: incompatible type for argument 8 of ‘INTEGRATORE’
    note: expected ‘float (*)(float)’ but argument is of type ‘float’
    Come posso fare quindi a passare quella funzione?

    Vi ringrazio anticipatamente per l'aiuto e la disponibilità

  2. #2
    Come chiami INTEGRATORE? Non è che hai scritto f(0) (o qualcosa del genere) invece di f (o, più chiaro, &f)?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2015
    Messaggi
    3
    MItaly, grazie, sei stato gentilissimo! Hai proprio ragione, avevo scritto nella chiamata f() invece di f! Grazie per la disponibilità e scusa se ti ho fato perdere tempo per una cosa così banale

  4. #4
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.