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 :

Explication d'une fonction


Sujet :

C

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Explication d'une fonction
    Salut,
    J'aimerais bien s'il vous plait que quelqu'un m'explique ce code, surtout la fonction g().
    Merci

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #include <stdio.h>
     
    void f(double *a, double *b)
    {
        double temp;
        if (*a > *b)
        {
            temp = *a;
            *a = *b;
            *b = temp;
        }
    }
    double g(double x, double y, double z)
    {
        f(&x, &y);
        f(&x, &z);
        return x;
    }
    int main ()
    {
        double t = 4.0;
        double u = 1.0 ;
        double v =2.5;
     
     
        f(&t, &u);
        printf("%f %f %f\n", t, u, v); /* (i) */
     
        v = g(t, u, v);
        printf("%f %f %f\n", t, u, v); /* (ii) */
        return 0;
    }

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    As-tu tenter de compiler le code et de le lancer pour comprendre ce qu'il fait ?

    A ton avis que fait le fonction f ?

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    la fonction f change les valeur mais la fonction g () nn me semble pas tros claire

  4. #4
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Peut-être plus précis dans le "change les valeurs" ? Quel serai pour toi la phrase de documentation pour expliquer ce que fait la fonction "f" ou comment l'utiliser ?
    Une fois que tu as bien compris ce que fait la fonction f. Ajoute des commentaires à la fonction g afin d'expliquer ce que fait chaque ligne.
    De même donne les valeur de X/Y/Z avant et après chaque instruction de la fonction g en supposant qu'on l'appel avec x=4 y=1 z=3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    double g(double x, double y, double z) {
        // TODO Commentaire pour la premier ligne
        // TODO X = ... Y =... Z =...
        f(&x, &y);
        // TODO Commentaire pour la seconde ligne
        // TODO X = ... Y =... Z =...
        f(&x, &z);
        // TODO Commentaire pour la dernière ligne
        // TODO X = ... Y =... Z =...
        return x;
    }
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    double g(double x, double y, double z) {
        // TODO X = ... Y =... Z =...
     
        f(&x, &y);//je dirai si la condition est verifier x prend la valeur de y et y prend la valeur de x//
        // TODO X = ... Y =... Z =...
        f(&x, &z);//si la condition est verifier x prend la valeur de z et z prend la valeur de x //
        // TODO Commentaire pour la dernière ligne
        // TODO X = ... Y =... Z =...
        return x;
    }
    le problème est que la seconde , la condition n'est pas verifiée ?? je suis débutant pardon donner une explication simple pour bien me lancer...

  6. #6
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Citation Envoyé par koff12 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        f(&x, &y);//je dirai si la condition est verifier x prend la valeur de y et y prend la valeur de x//
    Que signifie exactement le résultat de cette condition ? Qu'en déduis-tu sur le rôle de f() puis sur celui de g() ?

    Citation Envoyé par koff12 Voir le message
    le problème est que la seconde , la condition n'est pas verifiée ?? je suis débutant pardon donner une explication simple pour bien me lancer...
    Patrick te donne des pistes pour que tu arpentes toi-même le chemin de la compréhension. Ça n'aurait aucun intérêt de te donner la solution toute cuite.

  7. #7
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 685
    Points : 30 974
    Points
    30 974
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par koff12 Voir le message
    le problème est que la seconde , la condition n'est pas verifiée ?? je suis débutant pardon donner une explication simple pour bien me lancer...
    Bonjour

    Il n'y a aucune condition vérifiée ou non vérifiée. Il n'y a que des actions. A la première, x, y et z prennent certaines valeurs puis à la seconde, x, y et z en prennent d'autres. Puis x est retourné (et y et z disparaissent).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [XL-2013] Explication sur une fonction de tri en VBA
    Par atk_49 dans le forum Excel
    Réponses: 4
    Dernier message: 07/07/2015, 13h44
  2. Explication d'une fonction
    Par isitien dans le forum jQuery
    Réponses: 4
    Dernier message: 08/02/2011, 18h06
  3. explication d'une fonction
    Par med_tijani dans le forum VB.NET
    Réponses: 1
    Dernier message: 28/08/2008, 14h19
  4. Explication d'une fonction
    Par akrogames dans le forum Général Python
    Réponses: 7
    Dernier message: 24/01/2008, 13h50
  5. Explication Cast dans une Fonction
    Par krugarka dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/01/2007, 09h17

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