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 :

erreur ? oui mais quoi


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Par défaut erreur ? oui mais quoi
    Bonjour,

    Me voici encore dans le pétrin. Pas d'erreur à la compilation, mais j'ai toujours le droit à mon habituel plantage lors de l'exécution.

    A savoir que les fonctions PUISSANCE et ENTIER_DANS_TABLEAU ont été testées indépendamment des autres et fonctionnent correctement.

    Merci d'avance.

    Voici le code :

    MAIN.c

    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include "./BIBLIOTHEQUE.h"
     
    int main()
    {
        int ENTIER=10000000; //chiffre en binaire
     
        int VAL=CONVERTIR_VERS_LA_BASE(ENTIER, 2); // On le convertit en décimale
     
        printf("%d ", VAL);
     
        getchar();
    }
    BIBLIOTHEQUE.h

    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
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
     
    //PROTOTYPES////////////////////////////////////////////////////////////////////
    double PUISSANCE( double VALEUR, int EXPOSANT );
    void ENTIER_DANS_TABLEAU( int VALEUR, int **TABLEAU, int *TAILLE_TABLEAU );
    int CONVERTIR_VERS_LA_BASE( int VALEUR, int BASE );
    ////////////////////////////////////////////////////////////////////////////////
     
     
     
    //FONCTIONS/////////////////////////////////////////////////////////////////////
     
    ////////////////////////////////////////////////////////////////////////////////
    // PUISSANCE : Calcul la puissance d'un nombre
    ////////////////////////////////////////////////////////////////////////////////
    // Entrée :
    //   VALEUR : double
    //   EXPOSANT : int
    //
    // Pré-Conditions :
    //   VALEUR !=0
    //
    // Sortie : 
    //   RESULTAT : double
    //
    // Post-Condition :
    //   RESULTAT=VALEUR^EXPOSANT
    //////////////////////////////////////////////////////////////////////////////// 
     
    double PUISSANCE( double VALEUR, int EXPOSANT )
    {    
          double RESULTAT=1;  
          int I=0;    
     
          if ( VALEUR==0 || (EXPOSANT > 0 && EXPOSANT < 1) )
             {
                       printf("\nERREUR DANS L'UTILISATION DE LA FONCTION PUISSANCE\n");
             } 
     
          if ( EXPOSANT > 1 )
             {
                      while ( I != EXPOSANT )
                            {
                              RESULTAT=RESULTAT*VALEUR;
                              I++;
                            }
     
                      return RESULTAT;
             }
     
         if ( EXPOSANT < 0 )
            {
                      while ( I != -EXPOSANT )
                            {
                              RESULTAT=RESULTAT*VALEUR;
                              I++;
                            }
     
                      return 1/RESULTAT;
             }
     
         if ( EXPOSANT==0 || VALEUR==1 || (EXPOSANT == 0 && VALEUR == 1) )
            {
                          return 1;
            }  
    } 
     
     
    ////////////////////////////////////////////////////////////////////////////////
    // ENTIER_DANS_TABLEAU : Décomposer un entier dans un tableau
    ////////////////////////////////////////////////////////////////////////////////
    // Entrée :
    //   VALEUR : entier
    //   TABLEAU : un double pointeur sur un entier 
    //   TAILLE_TABLEAU : un pointeur sur un entier 
    //
    // Pré-Conditions :
    //   VALEUR >= 0
    //
    // Sortie : 
    //   TABLEAU : un double pointeur sur un entier
    //   TAILLE_TABLEAU : un pointeur sur un entier
    //
    // Post-Conditions :
    //   ...
    ////////////////////////////////////////////////////////////////////////////////
    void ENTIER_DANS_TABLEAU( int VALEUR, int **TABLEAU, int *TAILLE_TABLEAU )
    { 
        int N=1;
        float I=0.1;
        *TAILLE_TABLEAU=1;
     
        if ( VALEUR == 0 )
           {
               (*TABLEAU)   = malloc((*TAILLE_TABLEAU)*sizeof(int));
               (*TABLEAU[0])= 0                                    ;
           }
     
        if( VALEUR > 0 )
          {
              while ( VALEUR/N <= 1 )
                    {
                        (*TAILLE_TABLEAU)++;
                        I*=10;
                        N*= (int)I;
                    }
     
             (*TABLEAU) = malloc((*TAILLE_TABLEAU)*sizeof(int));
     
             int J;
             for ( J=((*TAILLE_TABLEAU)-1) ; J>=0 ; J-- )
                 {
                     (*TABLEAU)[J] =  floor(VALEUR/PUISSANCE(10, J));
                       VALEUR     -= (*TABLEAU[J])*PUISSANCE(10, J) ;
                 }
         }
     
     
     else printf("\nERREUR DANS L'UTILISATION DE LA FONCTION ENTIER_DANS_TABLEAU\n");
    }
     
     
    ////////////////////////////////////////////////////////////////////////////////
    // CONVERTIR VERS LA BASE : Donne la valeur du chiffre dans sa nouvelle base
    ////////////////////////////////////////////////////////////////////////////////
    // Entrée :
    //   VALEUR : entier
    //   BASE : entier 
    //
    // Pré-Conditions :
    //   VALEUR >= 0
    //
    // Sortie : 
    //   RESULTAT : entier
    //
    // Post-Conditions :
    //   ...
    ////////////////////////////////////////////////////////////////////////////////
    int CONVERTIR_VERS_LA_BASE( int VALEUR, int BASE )
    {
     
        printf("%d %d", VALEUR, BASE);
        getchar();
     
        //marche jusqu'au getchar, ensuite patatra...
     
        int *TAILLE_TABLEAU = malloc(sizeof(int));
        int **TABLEAU;
     
        ENTIER_DANS_TABLEAU( VALEUR, TABLEAU, TAILLE_TABLEAU );
        printf("%d", (*TAILLE_TABLEAU));
        int RESULTAT=0;
     
        int I=0;
        for ( I ; I<(*TAILLE_TABLEAU) ; I++ )
            {
                RESULTAT = RESULTAT + (*TABLEAU[I])*PUISSANCE( BASE, I );
            }
     
        return RESULTAT;
    }

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int **TABLEAU;
     
    ENTIER_DANS_TABLEAU( VALEUR, TABLEAU, TAILLE_TABLEAU );
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void ENTIER_DANS_TABLEAU( int VALEUR, int **TABLEAU, int *TAILLE_TABLEAU )
    { 
        int N=1;
        float I=0.1;
        *TAILLE_TABLEAU=1;
     
        if ( VALEUR == 0 )
           {
               (*TABLEAU)   = malloc((*TAILLE_TABLEAU)*sizeof(int));
    Tu déréférences TABLEAU dans ENTIER_DANS_TABLEAU alors qu'il ne pointe vers rien (ou plutôt n'importe quoi).

  3. #3
    Membre éclairé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Par défaut
    Oui comment puis-je faire autrement sachant que je ne connais pas à l'avance la taille du tableau. Je ne peux donc pas faire de malloc avant de l'envoyer à cette fonction, ce pourquoi j'envoie un double pointeur afin de faire le malloc à l'intérieur de la fonction.

    Soit c'est le hasard soit je suis perdu, j'ai testé cette fonction indépendamment, et en procédant de la même manière j'ai toujours eu le résultat escompté.

    Donc je ne vois pas comment procéder...

    Merci d'avance

  4. #4
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Je pense que tout est dit, faut un malloc.

    Je t'avais pourtant bien dit, et je re-insiste dessus, qu'il faut initialisé tes pointeurs a NULL. Ensuite, dans ta fonction, tu mets les test sur pointeurs, comme dans un de tes precedent post.

    Ca mange pas de pain.


    Bref.


    Sinon, je ne crois pas me trompé en disant que '||' est un ou non exclusif.
    C'est a dire que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     ( EXPOSANT==0 || VALEUR==1 || (EXPOSANT == 0 && VALEUR == 1) )
    peut se reduire a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     (EXPOSANT==0 || VALEUR==1)

  5. #5
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    J'ai pas regardé le code plus que ça, à priori tu as des petits soucis avec les pointeurs, tu peux corriger le bug que je t'ai dit ainsi:
    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
    int CONVERTIR_VERS_LA_BASE( int VALEUR, int BASE )
    {
     
        printf("%d %d\n", VALEUR, BASE);
        getchar();
     
        //marche jusqu'au getchar, ensuite patatra...
     
        int TAILLE_TABLEAU;
        int *TABLEAU = NULL;
     
        ENTIER_DANS_TABLEAU( VALEUR, &TABLEAU, &TAILLE_TABLEAU );
        printf("%d", TAILLE_TABLEAU);
        int RESULTAT=0;
     
        int I=0;
        for ( I ; I< TAILLE_TABLEAU ; I++ )
            {
                RESULTAT = RESULTAT + TABLEAU[I]*PUISSANCE( BASE, I );
            }
     
        return RESULTAT;
    }

  6. #6
    Membre éclairé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Par défaut
    Par contre les test if ( (*pointeur)==NULL ) comme vous me les avez montré dans les posts précédent ne compile pas, j'ai une erreur : invalid operands for binary ==.

    OK pour la condition, je n'étais pas certain du coup je l'ai mis au cas où mais je vais l'enlever du coup.

    Je dois initialiser à NULL alors. Donc je dois modifier comme suivant si j'ai bien compris ? Ce que je fais ne dis toujours pas être juste parce que ça plante toujours.

    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
    int CONVERTIR_VERS_LA_BASE( int VALEUR, int BASE )
    {
     
        printf("%d %d", VALEUR, BASE);
        getchar();
     
        //marche jusqu'au getchar, ensuite patatra...
     
        int *TAILLE_TABLEAU = malloc(sizeof(int));
        int **TABLEAU={NULL};
     
        ENTIER_DANS_TABLEAU( VALEUR, TABLEAU, TAILLE_TABLEAU );
        printf("%d", (*TAILLE_TABLEAU));
        int RESULTAT=0;
     
        int I;
        for ( I=0 ; I<(*TAILLE_TABLEAU) ; I++ )
            {
                RESULTAT = RESULTAT + (*TABLEAU[I])*PUISSANCE( BASE, I );
            }
     
        return RESULTAT;
    }

  7. #7
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par darkwall_37 Voir le message
    Ce que je fais ne dis toujours pas être juste parce que ça plante toujours.

    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
    int CONVERTIR_VERS_LA_BASE( int VALEUR, int BASE )
    {
     
        printf("%d %d", VALEUR, BASE);
        getchar();
     
        //marche jusqu'au getchar, ensuite patatra...
     
        int *TAILLE_TABLEAU = malloc(sizeof(int));
        int **TABLEAU={NULL};
     
        ENTIER_DANS_TABLEAU( VALEUR, TABLEAU, TAILLE_TABLEAU );
        printf("%d", (*TAILLE_TABLEAU));
        int RESULTAT=0;
     
        int I;
        for ( I=0 ; I<(*TAILLE_TABLEAU) ; I++ )
            {
                RESULTAT = RESULTAT + (*TABLEAU[I])*PUISSANCE( BASE, I );
            }
     
        return RESULTAT;
    }
    Je corrige ton code et tu me reponds l'ancien...

  8. #8
    Membre éclairé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Par défaut
    désolé je n'avais pas vu votre post. Merci

  9. #9
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Citation Envoyé par darkwall_37 Voir le message
    Par contre les test if ( (*pointeur)==NULL ) comme vous me les avez montré dans les posts précédent ne compile pas, j'ai une erreur : invalid operands for binary ==.

    Ah

    J'ai dû me tromper, je pense que la syntaxe correct est celle ci :


    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
     
    void Test(int *pointeur)
    {
        if (pointeur == NULL)
            printf("Mauvais\n");
        else
            printf("bon\n");
    }
     
     
    int main(void)
    {
        int variable = 1;
        int *pointeurVariable = NULL;
     
        Test(&variable);
        Test (pointeurVariable);
     
        pointeurVariable = &variable;
     
        Test (pointeurVariable);
     
        return EXIT_SUCCESS;
    }
    J'obtient bien

    bon
    Mauvais
    bon
    C'est a cause de '*' en plus, je suis désolé ><

  10. #10
    Membre éclairé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Par défaut
    Bon voilà, j'avais mal consulté vos réponses sur un autre topic, en autre les entrées et leur transmission, ni plus ni moins que ce que m'a rappelé nicolas.

    J'espère que c'est rentré dans ma vieille caboche cette fois ci. En tous cas, je vous remercie une fois de plus jusqu'à la prochaine fois xD.

    MAIN

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <stdio.h>
    #include <stdlib.h>
    #include "./BIBLIOTHEQUE.h"
     
    int main()
    {
        int ENTIER=10000000; //chiffre en binaire
     
        int VAL=CONVERTIR_VERS_LA_BASE(ENTIER, 2); // On le convertit en décimale
     
        printf("%d ", VAL);
     
        getchar();
    }
    HEADER

    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
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
     
    //PROTOTYPES////////////////////////////////////////////////////////////////////
    double PUISSANCE( double VALEUR, int EXPOSANT );
    void ENTIER_DANS_TABLEAU( int VALEUR, int **TABLEAU, int *TAILLE_TABLEAU );
    int CONVERTIR_VERS_LA_BASE( int VALEUR, int BASE );
    ////////////////////////////////////////////////////////////////////////////////
     
     
     
    //FONCTIONS/////////////////////////////////////////////////////////////////////
     
    ////////////////////////////////////////////////////////////////////////////////
    // PUISSANCE : Calcul la puissance d'un nombre
    ////////////////////////////////////////////////////////////////////////////////
    // Entrée :
    //   VALEUR : double
    //   EXPOSANT : int
    //
    // Pré-Conditions :
    //   VALEUR !=0
    //
    // Sortie : 
    //   RESULTAT : double
    //
    // Post-Condition :
    //   RESULTAT=VALEUR^EXPOSANT
    //////////////////////////////////////////////////////////////////////////////// 
     
    double PUISSANCE( double VALEUR, int EXPOSANT )
    {    
          double RESULTAT=1;  
          int I=0;    
     
          if ( VALEUR==0 || (EXPOSANT > 0 && EXPOSANT < 1) )
             {
                       printf("\nERREUR DANS L'UTILISATION DE LA FONCTION PUISSANCE\n");
             } 
     
          if ( EXPOSANT > 1 )
             {
                      while ( I != EXPOSANT )
                            {
                              RESULTAT=RESULTAT*VALEUR;
                              I++;
                            }
     
                      return RESULTAT;
             }
     
         if ( EXPOSANT < 0 )
            {
                      while ( I != -EXPOSANT )
                            {
                              RESULTAT=RESULTAT*VALEUR;
                              I++;
                            }
     
                      return 1/RESULTAT;
             }
     
         if ( EXPOSANT==0 || VALEUR==1 )
            {
                          return 1;
            }  
    } 
     
     
    ////////////////////////////////////////////////////////////////////////////////
    // ENTIER_DANS_TABLEAU : Décomposer un entier dans un tableau
    ////////////////////////////////////////////////////////////////////////////////
    // Entrée :
    //   VALEUR : entier
    //   TABLEAU : un double pointeur sur un entier 
    //   TAILLE_TABLEAU : un pointeur sur un entier 
    //
    // Pré-Conditions :
    //   VALEUR >= 0
    //
    // Sortie : 
    //   TABLEAU : un double pointeur sur un entier
    //   TAILLE_TABLEAU : un pointeur sur un entier
    //
    // Post-Conditions :
    //   ...
    ////////////////////////////////////////////////////////////////////////////////
    void ENTIER_DANS_TABLEAU( int VALEUR, int *(*TABLEAU), int *TAILLE_TABLEAU )
    { 
     
        if( TAILLE_TABLEAU==NULL )
          {
              printf("\nERREUR SUR LE POINTEUR TAILLE_TABLEAU\n");
          } 
     
        *TAILLE_TABLEAU=1;
         int N=1;
     
        if ( VALEUR == 0 )
           {
               (*TABLEAU)   = malloc((*TAILLE_TABLEAU)*sizeof(int));
               (*TABLEAU[0])= 0                                    ;
           }
     
        if( VALEUR > 0 )
          { 
              while ( (VALEUR/N) > 1 )
                    {
                        (*TAILLE_TABLEAU)++;
                        N*= 10;
                        printf("%d %d %d\n", (VALEUR/N), N, *TAILLE_TABLEAU);
                    }
     
             (*TABLEAU) = malloc((*TAILLE_TABLEAU)*sizeof(int));
     
             if( TABLEAU==NULL ) 
               {
                   printf("\nERREUR SUR LE POINTEUR TABLEAU\n");
               } 
     
             int J;
             for ( J=((*TAILLE_TABLEAU)-1) ; J>=0 ; J-- )
                 {
                     (*TABLEAU)[J] =  floor(VALEUR/PUISSANCE(10, J));
                       VALEUR     -= ((*TABLEAU)[J])*PUISSANCE(10, J) ;
                 }
         }
     
     
     else printf("\nERREUR DANS L'UTILISATION DE LA FONCTION ENTIER_DANS_TABLEAU\n");
    }
     
     
    ////////////////////////////////////////////////////////////////////////////////
    // CONVERTIR VERS LA BASE : Donne la valeur du chiffre dans sa nouvelle base
    ////////////////////////////////////////////////////////////////////////////////
    // Entrée :
    //   VALEUR : entier
    //   BASE : entier 
    //
    // Pré-Conditions :
    //   VALEUR >= 0
    //
    // Sortie : 
    //   RESULTAT : entier
    //
    // Post-Conditions :
    //   ...
    ////////////////////////////////////////////////////////////////////////////////
    int CONVERTIR_VERS_LA_BASE( int VALEUR, int BASE )
    {
     
        int *TAILLE_TABLEAU=malloc(sizeof(int));
        int *TABLEAU=NULL;
     
        ENTIER_DANS_TABLEAU( VALEUR, &TABLEAU, TAILLE_TABLEAU );
        printf("taille : %d\n", *TAILLE_TABLEAU);
     
        int RESULTAT=0;
     
        int I;
        for ( I=0 ; I<(*TAILLE_TABLEAU) ; I++ )
            {
                RESULTAT = RESULTAT + (TABLEAU[I])*PUISSANCE( BASE, I );
                printf("%d + %d*%d\n", RESULTAT, TABLEAU[I], PUISSANCE( BASE, I));
            }
     
        return RESULTAT;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. image width 100% oui mais de quoi ?
    Par SpaceFrog dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 01/04/2010, 11h44
  2. Indéxer, oui mais quoi?
    Par Just dans le forum Requêtes
    Réponses: 9
    Dernier message: 05/08/2008, 09h08
  3. .htaccess oui, mais avec quoi dedans ?
    Par lodan dans le forum Apache
    Réponses: 3
    Dernier message: 10/09/2006, 13h52
  4. [Etudes] Se spécialiser, oui mais dans quoi?
    Par FCDB dans le forum Etudes
    Réponses: 3
    Dernier message: 14/08/2006, 20h13
  5. Une erreur sur le free.. Oui mais pourquoi ?
    Par MonsieurAk dans le forum C
    Réponses: 7
    Dernier message: 22/12/2005, 20h51

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