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 minimum qui ne marche pas je ne sais pourquoi


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Points : 39
    Points
    39
    Par défaut Fonction minimum qui ne marche pas je ne sais pourquoi
    Bonjour à tous,
    j'ai un programme en C (que le professeur australien Brent Richard m'a envoyée), qui a pour but de trouver le minimum d'une fonction mathématique, seul problème, je ne connais pas vraiment ce langage.
    A la compilation on me renvoie des messages d'erreur mais je ne sais pas comment y remédier, j'ai rajouté la fonction main mais toujours des messages que je ne comprends pas, je vous envoie le fichier source en pièce jointe, en espérant que quelqu'un qui s'y connait prenne le temps de le compiler et m'expliquer ce qui se passe, car j'ai vraiment besoin de ce programme et je suis perdue
    pouvez-vous le tester pour moi s'il vous plait? et me dire quelles sont les corrections à apporter?
    je vous en remercie d'avance

    P.S. j'ai fait un screenshot, que vous trouverez dans le fichier Erreur.jpg
    merci de bien vouloir me répondre (favorablement j'espère )
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Ohlala la syntaxe K&R, doit pas être tout jeune ce programme.

    Y'a même l'utilisation de register .

    Bon passé tout ça, ben SQRT_EPSILON je connais po.

    Par contre je connais FLT_EPSILON mais alors je sais pas si c'est par ça qu'il faut remplacer.

    Roh même google francais connait pas SQRT_EPSILON. Bizarre.

    Bon en commentaire y'a écrit : /* Actual tolerance */

    Donc tout se prete à penser qu'il faudrait remplacer par FLT_EPSILON.

    Essaye pour voir.

    N'oublies pas de linker avec la bibliothèque mathématique.
    Dans Dev-cpp rajoute cette ligne dans les options de link de ton projet : -lmath

    Bon cpa tout mais je vais ptet aller me coucher moi...
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Points : 39
    Points
    39
    Par défaut
    Merci pour ton message, mais je n'ai pas compris grand chose à ce que tu m'as dit
    je dois faire quoi?
    j'ai d'autres programmes (3), et aucun ne marche, je suis dans la galère
    j'ai besoin de votre aide si vous pouvez
    je ne souhaite faire marcher qu'un seul des 4 programmes.
    il y a le screenshot portant le même nom des fichiers source.
    Merci encore
    j'attends votre réponse avec impatience
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Ce code compile sans erreur, je n'ai pas touché à l'algo. A toi de le tester pour savoir s'il fait le job que tu attends de lui.

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    #include <assert.h>
    #include <math.h>
    #include <float.h>
     
    /**
     * Estimates the min location.
     *
     * @param a left border | of the range
     * @param b right border | the min is seeked
     * @param f function under investigation
     * @param tol acceptable tolerance
     */
    double fminbr(double a, double b, double (*f)(double x), double tol)
    {
        double x, v, w;         /* Abscissae, descr. see above	*/
        double fx;				/* f(x)				*/
        double fv;				/* f(v)				*/
        double fw;				/* f(w)				*/
        const double r = (3. - sqrt(5.0)) / 2;	/* Gold section ratio		*/
     
        assert( tol > 0 && b > a );
     
        v = a + r * (b - a);
        fv = f(v);       /* First step - always gold section*/
        x = v;
        w = v;
        fx = fv;
        fw = fv;
     
        for (;;)		/* Main iteration loop	*/
        {
            double range = b - a;			/* Range over which the minimum */
            /* is seeked for		*/
            double middle_range = (a + b) / 2;
            double tol_act = FLT_EPSILON*fabs(x) + tol/3; /* Actual tolerance */
            double new_step;      		/* Step at this iteration       */
     
     
     
            if ( fabs(x - middle_range) + range / 2 <= 2 * tol_act )
            {
                return x;				/* Acceptable approx. is found	*/
            }
     
            /* Obtain the gold section step	*/
            new_step = r * ( x < middle_range ? b - x : a - x );
     
     
            /* Decide if the interpolation can be tried	*/
            if ( fabs(x - w) >= tol_act  )		/* If x and w are distinct      */
            {
                /* interpolatiom may be tried	*/
                double p; 		/* Interpolation step is calcula-*/
                double q;              /* ted as p/q; division operation*/
                /* is delayed until last moment	*/
                double t;
     
                t = (x-w) * (fx-fv);
                q = (x-v) * (fx-fw);
                p = (x-v)*q - (x-w)*t;
                q = 2*(q-t);
     
                if ( q>(double)0 )		/* q was calculated with the op-*/
                {
                    p = -p;			/* posite sign; make q positive	*/
                }
                else				/* and assign possible minus to	*/
                {
                    q = -q;			/* p				*/
                }
     
                if ( fabs(p) < fabs(new_step*q) &&	/* If x+p/q falls in [a,b]*/
                        p > q*(a-x+2*tol_act) &&		/* not too close to a and */
                        p < q*(b-x-2*tol_act)  )            /* b, and isn't too large */
                {
                    new_step = p/q;			/* it is accepted         */
                }
                /* If p/q is too large then the	*/
                /* gold section procedure can 	*/
                /* reduce [a,b] range to more	*/
                /* extent			*/
            }
     
            if ( fabs(new_step) < tol_act )	/* Adjust the step to be not less*/
            {
                if ( new_step > (double)0 )	/* than tolerance		*/
                {
                    new_step = tol_act;
                }
                else
                {
                    new_step = -tol_act;
                }
            }
     
            /* Obtain the next approximation to min	*/
            {
                /* and reduce the enveloping range	*/
                double t = x + new_step;	/* Tentative point for the min	*/
                double ft = (*f)(t);
                if ( ft <= fx )
                {
                    /* t is a better approximation	*/
                    if ( t < x )			/* Reduce the range so that	*/
                    {
                        b = x;                        /* t would fall within it	*/
                    }
                    else
                    {
                        a = x;
                    }
     
                    v = w;
                    w = x;
                    x = t;		/* Assign the best approx to x	*/
                    fv=fw;
                    fw=fx;
                    fx=ft;
                }
                else                              /* x remains the better approx  */
                {
                    if ( t < x )			/* Reduce the range enclosing x	*/
                    {
                        a = t;
                    }
                    else
                    {
                        b = t;
                    }
     
                    if ( ft <= fw || w==x )
                    {
                        v = w;
                        w = t;
                        fv=fw;
                        fw=ft;
                    }
                    else if ( ft<=fv || v==x || v==w )
                    {
                        v = t;
                        fv=ft;
                    }
                }
            }			/* ----- end-of-block ----- */
        }		/* ===== End of loop ===== */
    }
    Thierry

    P.S. C'est possible d'écrire du code scientifique lisible.
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Points : 39
    Points
    39
    Par défaut
    Merci de l'avoir testé monsieur Thierry.
    Moi il m'affiche ce message d'erreur:
    Images attachées Images attachées  

  6. #6
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Compile ton programme en mode console et pas en mode appli windows.

  7. #7
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Points : 39
    Points
    39
    Par défaut
    Pour tester ce programme, j'ai créé un projet en mode console, et non en mode fenêtre.
    je suis entrain de chercher ce que veut dire ce
    undefined reference to `WinMain@16'
    car je n'y comprends strictement rien, et je ne sais donc pas comment regler le problème
    pourtant monsieur Thierry l'a exécuté sans problème, donc il doit forcément y avoir un moyen...

  8. #8
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    En fait, cette erreur survient car la fonction WinMain n'a pas été crée, c'est la fonction principale des programmes fenêtré windows.

    Le problème est peut être que tu n'as pas de fonction main dans ton programme.

  9. #9
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Points : 39
    Points
    39
    Par défaut
    justement
    je viens de voir ce que c'était dans le menu d'aide:

    After linking, i get an error like C:\DEV-C++\LIB\\libmingw32.a(main.o)(.text+0x8e): undefined reference to `WinMain@16'

    You probably haven't declared any main() or WinMain() function in your program.


    J'ai donc rajouté la fonction main qui englobe tout le programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <stdio.h>
    #include <stdlib.h>
    int main(int argc, char *argv[])
    {
     
      system("PAUSE");     
      return 0;
    }
    mais à l'éxécution, après qq secondes il me dit appuyez sur une touche pour continuer, je vais péter un cable


    ça veut dire quoi ça? :'(

  10. #10
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Yearning Voir le message
    Merci de l'avoir testé monsieur Thierry.
    Moi il m'affiche ce message d'erreur:
    Ce code est une fonction toute seule. Ce n'est pas une application. Il faut ajouter un main() pour pouvoir l'utiliser. Visiblement tu ne connais pas les bases du C.

    Tu penses que ça tombe du ciel ? Le langage C est un des langages les plus subtils qu'il soit. Ce n'est pas un langage de débutant en informatique et certainement pas un langage de bricoleur. Il faut suivre des cours sérieux pour prétende écrire et comprendre des programmes en C. Il y a des références de livres et de tutoriels sur ce site (et sur le mien).

    Citation Envoyé par Yearning Voir le message
    J'ai donc rajouté la fonction main qui englobe tout le programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <stdio.h>
    #include <stdlib.h>
    int main(int argc, char *argv[])
    {
     
      system("PAUSE");     
      return 0;
    }
    mais à l'éxécution, après qq secondes il me dit appuyez sur une touche pour continuer
    C'est normal, tu n'as pas appelé la fonction. Je le répète, cesse de bricoler et commence à apprendre le C sérieusement.
    Pas de Wi-Fi à la maison : CPL

  11. #11
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Points : 39
    Points
    39
    Par défaut
    y a-t-il une proposition plus objective de la part des forumistes?
    je vous en remercie d'avance

  12. #12
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    y a-t-il une proposition plus objective de la part des forumistes?
    C'est malheureusement (pour toi) l'une des plus objective qui soit.

    - Soit tu n'as pas appelé la fonction (si tu n'as mis que le code de la fonction main, c'est le cas).
    - Soit tu n'as demandé aucun affichage (auquel cas, tu ne sais pas ce qui s'est passé).

    Quoiqu'il en soit, ça montre des lacunes au niveau de la maîtrise du langage.

  13. #13
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Points : 39
    Points
    39
    Par défaut
    Je suis sur un gros projet sous Delphi qui traite sur la minimisation des modèles de actionneurs à courant alternatif, j'ai créé un lien avec Matlab afin d'avoir les graphes des fonctions mathématiques que j'ai pu affichier directement sous Delphi par la suite, jusque là sans problème, mais j'ai besoin d'algorithmes de minimisation (trouver le minimum de la fonction), un professeur australien me les a envoyés en C, vue que j'avais des programmes en Fortran sur un très bon livre "Numerical Recipes" mais qui n'étaient pas utilisables.
    J'ai donc installé un compilateur et j'ai souhaité faire marcher ces 4 fonctions mais j'ai eu des messages d'erreur que je n'ai pas comprises.
    Sachant, que je ne vais pas pouvoir apprendre un langage tel que le C, en une journée, je me suis donc documentée afin d'essayer de remédier à cela, croyant que ces messages d'ereur tel que Variable non déclarée, sont juste dus au fait que je ne connais pas le langage.
    Vu que j'ai essayé de "bricoler" comme vous dites, mais que je ne savais pas m'y prendre, il ne me restait qu'un forum où j'ESPERAIS trouver au moins une personne qui veulent bien m'aider (vous n'êtes pas obligés). Au lieu de dire que j'ai des lacunes en C et compagnie, sachez que je n'ai pas prétendu connaître ce langage, j'ai bien expliqué au tout début : -)
    Je croyais que c'était un forum d'aide, où je risque de trouver des personnes qui maitrîsent bien et qui surtout puissent m'en dire plus sur ces messages d'erreur, que je pensais seraient banales à leurs yeux, au lieu de me juger comme débutante en informatique!

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Yearning Voir le message
    ....
    vue que j'avais des programmes en Fortran sur un très bon livre "Numerical Recipes" mais qui n'étaient pas utilisables.
    ...


    euh....

    "Numerical Recipes" en C existe depuis au moins 15 ans, et "Numerical Recipes" en C++ depuis au moins 6 ans...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  15. #15
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Je croyais que c'était un forum d'aide, où je risque de trouver des personnes qui maitrîsent bien et qui surtout puissent m'en dire plus sur ces messages d'erreur
    Concernant le message d'erreur, je pensais t'avoir répondu :

    Citation Envoyé par PRomu@ld
    En fait, cette erreur survient car la fonction WinMain n'a pas été crée, c'est la fonction principale des programmes fenêtré windows.

    Le problème est peut être que tu n'as pas de fonction main dans ton programme.

  16. #16
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Je vois pas ce qui te convient pas, on t'a donné une fonction qui marche.

    Dans Dev-cpp tu crée un nouveau projet tu colles la fonction dans main.c (tout en gardant la fonction main).

    Puis tu appels ta fonction en lui donnant des arguments. Tu recuperes la valeur de retour. Puis tu l'affiches avec printf.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    double ret = fminbr(x, x, x, x);
    printf("%f\n", ret);
    Bon par contre dans la paramètres y'a un pointeur sur fonction, ça risque de se compliquer pour toi.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  17. #17
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Yearning Voir le message
    Je suis sur un gros projet sous Delphi qui traite sur la minimisation des modèles de actionneurs à courant alternatif, j'ai créé un lien avec Matlab afin d'avoir les graphes des fonctions mathématiques que j'ai pu affichier directement sous Delphi par la suite, jusque là sans problème, mais j'ai besoin d'algorithmes de minimisation (trouver le minimum de la fonction),
    Pourquoi tu ne le fais pas en Pascal ?
    un professeur australien me les a envoyés en C,
    pas en C mais en K&R C, c'est à dire du C d'avant 1990... On est en 2007 et il y a eu 2 publications majeures de norme depuis (+ 2 ou 3 correctifs importants)
    vue que j'avais des programmes en Fortran sur un très bon livre "Numerical Recipes" mais qui n'étaient pas utilisables.
    Tu ne sais pas les traduire en Pascal ?
    J'ai donc installé un compilateur et j'ai souhaité faire marcher ces 4 fonctions mais j'ai eu des messages d'erreur que je n'ai pas comprises.
    Sachant, que je ne vais pas pouvoir apprendre un langage tel que le C, en une journée, je me suis donc documentée afin d'essayer de remédier à cela, croyant que ces messages d'ereur tel que Variable non déclarée, sont juste dus au fait que je ne connais pas le langage.
    Non, c'est tout simplement un bug du programmeur qui t'a livré un code non compilable. Attention, ce n'est pas un 'programme', mais une fonction.
    Vu que j'ai essayé de "bricoler" comme vous dites, mais que je ne savais pas m'y prendre, il ne me restait qu'un forum où j'ESPERAIS trouver au moins une personne qui veulent bien m'aider (vous n'êtes pas obligés). Au lieu de dire que j'ai des lacunes en C et compagnie, sachez que je n'ai pas prétendu connaître ce langage, j'ai bien expliqué au tout début : -)
    Ce que tu veux faire est tout simplement impossible. Non seulement il faut connaitre les bases du C mais en plus des notions avancées (callback, calcul scientifique) qui ne sont absolument pas à la portée d'un débutant.

    Tu trouveras peut être quelqu'un pour faire le travail à ta place (dans ce cas, c'est une prestation, probablement payante, il y a des SSII et des Indépendants pour ça), ou alors, il te faudra apprendre et maitriser le calcul scientifique en C. Pour ça, il faut plusieurs mois (ça peut aller assez vite si tu maitrise le Pascal).
    Je croyais que c'était un forum d'aide, où je risque de trouver des personnes qui maitrîsent bien et qui surtout puissent m'en dire plus sur ces messages d'erreur, que je pensais seraient banales à leurs yeux, au lieu de me juger comme débutante en informatique!
    Tout le monde se fout pas mal que tu sois débutante en informatique ou plutôt en langage C. Ce qu'on essaye de te faire comprendre c'est que pour réaliser correctement ton but, tu t'y prends mal et on t'explique comment le faire bien. C'est comme ça qu'on aide les gens ici, désolé, mais on est pas assez naïfs pour faire le travail des gens à leur place...
    Pas de Wi-Fi à la maison : CPL

  18. #18
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Tu penses que ça tombe du ciel ? Le langage C est un des langages les plus subtils qu'il soit. Ce n'est pas un langage de débutant en informatique et certainement pas un langage de bricoleur. Il faut suivre des cours sérieux pour prétende écrire et comprendre des programmes en C.

    Tu trouveras peut être quelqu'un pour faire le travail à ta place (dans ce cas, c'est une prestation, probablement payante, il y a des SSII et des Indépendants pour ça), ou alors, il te faudra apprendre et maitriser le calcul scientifique en C.

    Tout le monde se fout pas mal que tu sois débutante en informatique ou plutôt en langage C. Ce qu'on essaye de te faire comprendre c'est que pour réaliser correctement ton but, tu t'y prends mal et on t'explique comment le faire bien. C'est comme ça qu'on aide les gens ici, désolé, mais on est pas assez naïfs pour faire le travail des gens à leur place...
    faire le travail à ma place? n'importe quoi!
    non tu n'es pas du tout naïf, ce n'est pas grave si c'est du langage C ancien et que tu ne sais pas comment y remédier, si tu comptes m'aider en me disant va apprendre le C sérieusement au lieu de bricoler, merci mais sans façon... c'est pas grave si t'es radin. Les bases auraient été aqcuises sinon en quelques moi et j'aurai trouvé la solution toute seule au lieu de poster un sujet sur ce forum, mais hélas je suis serrée par le temps, car j'en ai besoin pour un projet qui n'est pas du tout en C, et pour ce dernier je commence ce langage après avoir terminé ce projet
    on ne nait pas savant
    Salutations

  19. #19
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Ben alors pourquoi tu ne recodes pas cette fonction dans un langage que tu connais ?

    Ta fonction demande des notions assez avancées en C comme les pointeurs de fonctions. Nous on sait pas ce que cette fonction est censé faire. Alors bon soit tu recodes cet algo soit ben tu apprends les C.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

Discussions similaires

  1. fonction javascript qui ne marche pas
    Par roy-mustang dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 30/03/2009, 17h05
  2. Fonction simple qui ne marche pas
    Par Emotion dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/03/2009, 06h17
  3. [MySQL] fonction delete qui ne marche pas
    Par bassiste dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 10/05/2008, 00h58
  4. VBA Access : Fonction find qui ne marche pas
    Par leeloo35 dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/02/2008, 16h56
  5. requete SQl avec la fonction max () qui ne marche pas
    Par eclipse012 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2006, 14h32

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