Probleme en C

Résolu/Fermé
omaflak Messages postés 26 Date d'inscription jeudi 28 juin 2012 Statut Membre Dernière intervention 4 mars 2013 - Modifié par omaflak le 6/07/2012 à 17:09
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 6 juil. 2012 à 19:11
Bonjour, j'ai fait un programme ou plutôt une fonction en C qui est sensée me mettre les chiffre qui compose un nombre dans un tableau. Globalement la fonction marche, mais elle a un probleme avec les zero et cela modifie le dernier chiffre.
Voila mon code :

#include <stdio.h>  
#include <stdlib.h>  
#include <math.h>  

int N;  
int nombre[100];  

void decompose(int NOMBRE);  
int len(int nombre) ; 



int main()  
{  
    int i;  
    printf("Nombre : ");  
    scanf("%d", &N);  
    printf("\n");  

    int NombreChiffre=len(N);  

    decompose(N);  

    for (i=1 ; i<NombreChiffre+1 ; i++)  
    {  
        printf("nombre[%d] = %d\n", i,nombre[i]);  
    }  
    return 0;  
}  



void decompose(int NOMBRE)  
{  
    int NombreChiffre=len(N);  
    int facteur;  
    int j=0,i;  
    NOMBRE=NOMBRE*10;  

    for (i=NombreChiffre ; i>0 ; i--)  
    {  
        j++;  
        facteur=pow(10,i);  
        nombre[j]=floor(NOMBRE/facteur);  
        NOMBRE=NOMBRE-(nombre[j]*pow(10,i));  
    }  

    nombre[j]++;  
}  



int len(int nombre)  
{  
int i=0;  

while (nombre>0)  
{  
nombre=nombre/10;  
i++;  
}  
return i;  
}  

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
6 juil. 2012 à 19:11
Tu peux pas rester sur cette converse ?
Tu vas pas ouvrir un topic à chaque problème sur le même code ^^ ?
Non seulement c'est pas pratique pour toi, et pour nous non plus.
0