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 :

probleme compilation


Sujet :

C

  1. #1
    Invité(e)
    Invité(e)
    Par défaut probleme compilation
    bonjour
    j'ai un programme qui conserne la creation d'un arbre qui est representé en chainage
    j'ai un probleme au moment de la compilation
    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
    #include<stdio.h>
    #include<stdlib.h>
    typedef struct noeud *arbre;
    struct noeud {
                  char val;
                  arbre g,d;
                  };
    arbre a;   
    void filsgauche(arbre *a)
    {
         char c,val;arbre p;
    p=(noeud*)malloc(sizeof(noeud));
    printf("inroduisez la valeur ");
    scanf("%s",&val);
    (*p).val=val;
    (*(*a)).g=p;              
    }
    void filsdroite(arbre *a)
    {
         char c,val;arbre p;
    p=(noeud*)malloc(sizeof(noeud));
    printf("inroduisez la valeur ");
    scanf("%s",&val);
    (*p).val=val;
    (*(*a)).d=p;              
    }
    void creation(arbre *a)
    {
         char c;
    printf("voulez vous introduire une valeur ");
    scanf("%s",&c);
       if(c=='o')
       {
        filsgauche(&(*a));
        creation(&(*a).g);            /*le probleme est ici*/
        filsdroite(&(*a));
        creation(&(*a).d);
        }                 
    }     
    main()
    {
          char c,val;arbre p;
    p=(noeud*)malloc(sizeof(noeud));
    printf("introduiser la valeur de la racine principale ");
    scanf("%s",&val);
    (*a).val=val;
    creation(&a);
    system("pause");
    }
    au moment de la compilation c affiche que g n'est pas declaré
    que me proposeriez vous?
    Dernière modification par Invité(e) ; 06/05/2006 à 22h10.

  2. #2
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Ou exactement?
    De plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (*pointeur_sur_structure).donnee
    peut être remplacé par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pointeur_sur_structure->donnee
    main retourne int.
    De plus la variable globale "a" est masquée dans les fonctions.

  3. #3
    Invité(e)
    Invité(e)
    Par défaut aaa
    main, il marche comme ca
    et on peut faire (*p).lien ou p->lien
    c'est la meme chose

  4. #4
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Ce sont des conseils généraux.
    main, il marche comme ca
    Oui mais la norme dit "int"...

  5. #5
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    ton code n'est franchement pas clair a lire.

    et donne nous le type d'erreur et ou elle se produit stp

  6. #6
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    ton arbre est un pointeur de noeud, donc : etc....
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  7. #7
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    On ne peut pas utiliser "noeud" comme un type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p=(noeud*)malloc(sizeof(noeud));
    a moins de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    typedef struct noeud {
                  char val;
                  arbre g,d;
                  }noeud;

  8. #8
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Citation Envoyé par Swoög
    ton arbre est un pointeur de noeud, donc : etc....
    Ou pour respecter l'écriture du prog:
    non "a" est un pointeur de pointeur de noeud.

  9. #9
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Citation Envoyé par seriousme
    Ou pour respecter l'écriture du prog:
    dommage . est prioritaire sur * : ^^

    j'ai dis que arbre était un pointeur de noeud, a étant un pointeur d'arbre...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  10. #10
    Invité(e)
    Invité(e)
    Par défaut a
    je l'ai un peut corrige mais je croi qu'il ya des erreur
    la compilation c'est juste.
    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
    #include<stdio.h>
    #include<stdlib.h>
    typedef struct noeud *arbre;
    typedef struct noeud {
                  char val;
                  arbre g,d;
                  };
    arbre a;   
    void filsgauche(arbre *a)
    {
         char c,val;arbre p;
    p=(noeud*)malloc(sizeof(noeud));
    printf("inroduisez la valeur ");
    scanf("%s",&val);
    (*p).val=val;
    (*(*a)).g=p;              
    }
    void filsdroite(arbre *a)
    {
         char c,val;arbre p;
    p=(noeud*)malloc(sizeof(noeud));
    printf("inroduisez la valeur ");
    scanf("%s",&val);
    (*p).val=val;
    (*(*a)).d=p;              
    }
    void creation(arbre *a)
    {
         char c;
    printf("voulez vous introduire une valeur ");
    scanf("%s",&c);
       if(c=='o')
       {
        filsgauche(&(*a));
        creation(&(*a)->g);
        filsdroite(&(*a));
        creation(&(*a)->d);
        }                 
    }     
    main()
    {
          char c,val;arbre p;
    p=(noeud*)malloc(sizeof(noeud));
    printf("introduiser la valeur de la racine principale ");
    scanf("%s",&val);
    (*p).val=val;a=p;
    creation(&a);
    system("pause");
    }

  11. #11
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Swoog=>Ok, au temps pour moi.

  12. #12
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    @seriousme : no problem ^^

    @brakeche : pourquoi penses-tu qu'il y ait des erreurs ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  13. #13
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    typedef struct noeud {
                  char val;
                  arbre g,d;
                  }noeud;
    Et pour faire propre on peut aussi ajouter les déclarations des fonctions avant leur définition.

    Il faut régler le compilo.

Discussions similaires

  1. [GCC]Probleme compilation FLAT BINARY sur windows
    Par Hexanium dans le forum Autres éditeurs
    Réponses: 10
    Dernier message: 24/07/2005, 18h07
  2. [DEBUTANT] problem compilation eclipse
    Par roninou dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 14/01/2005, 15h59
  3. [JAR]Probleme compilation avec jdom
    Par ronaldgis dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 04/08/2004, 11h31
  4. probleme compilation classe avec Borland c++ compiler 5.5
    Par softblue dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 17/06/2004, 15h16
  5. [Debian] problème compilation jbuilder 9...
    Par Ancien_Do.Urden dans le forum JBuilder
    Réponses: 5
    Dernier message: 20/03/2004, 15h02

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