IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Fonction rentrée par l'utilisateur


Sujet :

C

  1. #1
    Membre régulier Avatar de thtghgh
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 221
    Points : 88
    Points
    88
    Par défaut Fonction rentrée par l'utilisateur
    Bonjour à tous,

    J'ai une petite question je suis en train de codé un programme en C qui calcule le gradient d'une fonction. Cette fonction doit etre rentrée par l'utilisateur et dépend de x y et z.

    Je code donc la fonction f rentrée par l'utilisateur en dehors du main

    Je ne pense pas que ce que j'ai écrit fonctionne dans mon programme pouvez vous m'éclairer? Merci

    Je vous met le code de la fonction f qui doit etre rentrée par l'utilisateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    double f (double x,double y,double z)
    {
            printf("Entrez f : \n")
    	double g;
    	scanf("%lf",&g)
     
    	return g;
    }
     
    void main(void)     
    {
    	Mon programme principal
     
    }
    Ma question c'est que vu que ma fonction est en dehors de mon programme principal je ne pense pas que ca va marcher mais je n'ai pas d'autres idées pouvez vous m'aider? Merci
    ----------------------------------------------------
    ----------------------------------------------------

  2. #2
    Membre averti Avatar de Fooshi
    Homme Profil pro
    ICD
    Inscrit en
    Juin 2002
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ICD
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 507
    Points : 359
    Points
    359
    Par défaut
    Il n'y a pas de raisons que cela ne marche pas ! a partir du moment ou la fonction (ou le prototype de la fonction) est définie avant la fonction main c'est bon.

  3. #3
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    Salut,

    Ta question n'est pas très clair.
    Tu veux appeler f dans ton main ?
    Si oui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    double f (double x,double y,double z)
    {
            printf("Entrez f : \n")
    	double g;
    	scanf("%lf",&g)
     
    	return g;
    }
     
    void main(void)     
    {
    	Mon programme principal
        double a, b, c;
        // a,b et c sont initialiser ici
        double resultat = f(a, b, c);
     
    }

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Ce dont tu as besoin est d'un interpréteur d'expression mathématique. C'est quelque chose d'assez complexe.

    On peut en trouver un ici : http://c.developpez.com/sources/?pag...ur_expressions

  5. #5
    Membre régulier Avatar de thtghgh
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 221
    Points : 88
    Points
    88
    Par défaut
    Merci surement l'interpréteur est la bonne solution.

    En fati ce que je veux faire c'est demander à l'utilisateur de rentrer une fonction analytique (ca peut etre f= 3x *cos(y)/exp(z) ) et moi apres je fais des calculs dessus

    EDIT : le lien fonctionne mais la page pour telecharger l'interprteur ne marche pas...
    ----------------------------------------------------
    ----------------------------------------------------

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 60
    Points : 79
    Points
    79
    Par défaut
    Si tu cherches un bon interpreteur de formule mathématiques, je te conseille Pari/GP
    téléchargement ici :
    http://pari.math.u-bordeaux.fr/download.html

    En plus il est gratuit !
    Et il fait à mon avis tout ce dont tu as besoin, et bien plus encore !!

    <edit> il existe aussi une librairie C de cet interpreteur. Utile pour interfacer tes progammes mathématiques avec tes programmes en C ... </edit>

Discussions similaires

  1. Réponses: 14
    Dernier message: 04/11/2009, 18h08
  2. Réponses: 3
    Dernier message: 21/12/2005, 11h55
  3. Fonction défini par l'utilisateur
    Par m-mas dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/07/2005, 09h45
  4. SQL Server / Fonction définie par l'utilisateur
    Par borgfabr dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/03/2005, 15h14
  5. Fonctions définies par l'utilisateur
    Par DiGueDao dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/06/2003, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo