Se connecter avec
S'enregistrer | Connectez-vous

calculer la longueur d'une variable de type entier HELP!!

Dernière réponse : dans Programmation

Bonjours,

voila j'aimerai savoir si il existe une fonction comme "strlen();" mais destinée aux entiers. en effet j'aimerai pouvoir calculer la longueur d'un entier.

Exemple :
int num1=1111;
int num2=22;
longueur de num1= 4;
longueur de num2 = 2;

Si quelqu'un à la reponse surtout qu'il n'hesite pas :) 
si un poste existant traite dejas de ce sujet, je suis desole de ne pas l'avoir vu, alors n'hesitez pas à me rediriger :) 

Merci
Lassé par la pub ? Créez un compte

En langage c :)  oui autatn pour moi mais le prob est resolut. j'ai fais ma ptite fonction tt seul comme un grand :

int calcul(int nombre){
int i,j=0;
clrscr();
i=nombre;
do{
nombre=nombre/10;
j=j+1;
}while(nombre>0);
printf("L'entier %d est de longueur %d",i,j);
return(j);
getch();
}

bah pour les input/outpout oui je suis d'accord ct juct pour rendre la methode explicite. dans mon prog ma methode donne ceci :

int calcultaille(int nombre){
int j=0;
do{
nombre=nombre/10;
j=j+1;
}while(nombre>0);
return(j);
}

1/Pourquoi clrscr non standard ?
2/ balise[code] ????
3/getch() innacessible ?? il sert just a temporiser pour permettre l'affichage :)  soit l'appui sur une touche.

hehe..
aussi:

int GetIntergerStringLenght(const int iInterger){
char p [MAX];
ssprinf(p,"%d",iInteger);
return strlent(p);
}
ou qqch du genre. Mais j'avoue que la division par 10 est beaucoup plus rapide et amene moins de dependances(aucune en fait).
Expert Programmation

Citation :
hehe..
aussi:

int GetIntergerStringLenght(const int iInterger){
char p [MAX];
ssprinf(p,"%d",iInteger);
return strlent(p);
}
ou qqch du genre. Mais j'avoue que la division par 10 est beaucoup plus rapide et amene moins de dependances(aucune en fait).
sprintf renvoie déjà le nombre de caractère écrits (sans \0) lorsqu'il n'y a pas d'erreurs, pas la peine de recompter...

oui ,peut etr,j ai des rectifications a faire:
#include<iostream.h>

#include<math.h>

int main(){
int j=1;double nombre;


cout<<"n= "<<endl;
cin>>nombre;
if(!nombre)
cout<<"le nombre de composantes est 1";
else while(fabs(nombre)>=pow(10,j))
j++;
cout<<"n="<<j;
return 0;

}

de plus,j ai commencé les cours de c++ il y a un mois alors je suis encore un amateur,on a meme pas fai ni les tablo ni les fcts :) 

aok,en tous cas j ai eu une idée et j ai vou voulu vous la montrer car je croyais que ca va vou etre utiile,comme je t ai di ,o debu de fevrier je savai meme pas ce que c le C++,alors ne di pas d alleer lire les regles et tou car je fai de mon mieu,et dsl pr le derangement
Expert Programmation

  • C'est bien de faire de son mieux.
  • Tu es débutant, je ne critiques pas.
  • Tu ne respectes pas les règles + je suis modérateur = je te dis de lire les règles et c'est comme ça !
    Expert Programmation

    batchy a dit :
    Oh le joli déterrage de topic. ça allait presque faire 4 ans.

    Et pour une solution en Java qui fait la même chose que le snprintf().

    Tu oublies d'ajouter "et sans utiliser la balise code"... :whistle: 
    Lassé par la pub ? Créez un compte