Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : "precision" entiers [ Archives / Au secours ] (payen)

dimanche 11 juillet 2004 à 20:05:05 | "precision" entiers

payen

Bonjour,

j'aimerais simplement savoir si il est possible de formater un entier. je m'explique : j'ai des entiers qui varient dans un certain intervalle, et une classe TChaine qui me permet de caster mes entiers en string. je voudrais en fait que mes entiers soient tous representes par le meme nombre de caracteres. par exemple si j'ai la suite de 1 a 15, j'aimerais pourvoir stocker dans des TChaine les entiers de la facon suivante :
01 02 03 04 ... 13 14 15
de mem, si j'ai plus de 100 entiers je voudrais que cela se fasse comme ca :
001 002 003 ... 099 100 101 102 ...

pouvez vous m'aider ?
merci d'avance

dimanche 11 juillet 2004 à 20:18:55 | Re : "precision" entiers

xian240482


char text[500];
int i=5;

sprintf(text,"%.2i",i);




si tu vois avec msdn
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_printf_Type_Field_Characters.asp



mercredi 14 juillet 2004 à 02:15:22 | Re : "precision" entiers

Stepharcher

plus généralement :

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


struct texte
{
char* donnee;
int taille;
};

texte fct(int a, int b)
{
int i, j; // Bcl
int pos=0; // Position dans la chaine final
texte result; // Renverra le résultat
int taille_nbre=(int)log10(b)+1;// Récupère le nombre de chiffre

// Trouve la taille de la chaine
result.taille=(b-a+1)*taille_nbre + (b-a);

// Alloue la mémoire
result.donnee=(char*)malloc(sizeof(char)*(result.taille+1));

// Y'a plus qu'a remplir, parcoure chaque entier
for(i=a; i<=b; i++)
{
// Parcoure la taille du nombre
for(j=taille_nbre-1; j>=0; j--)
{
// Affiche le caractère
result.donnee[pos]=(i%((int)pow(10, j+1))/(int)pow(10, j))+'0';

// Avance dans la chaine
pos++;

}

// Avance dans la chaine si il le faut
if(i!=b)
{
result.donnee[pos]=' ';
pos++;
}
}

result.donnee[pos]='\0'; // Fin de la chaine

return result;

}


int main()
{
int a, b; // l'interval
texte chaine; // chaine

// Récupère les infos
scanf("%d", &a);
scanf("%d", &b);

// Fait le calcul
chaine=fct(a, b);

// Affiche la chaine
printf("\n%s", chaine.donnee);

system("pause");
return 0;

}

Stéph

mercredi 14 juillet 2004 à 02:48:19 | Re : "precision" entiers

Stepharcher

J'ai fait un peu "bourrin"... mais si tu fais un copier-coller dans un compilateur, tu devrais mieux voir le résultat !

Stéph



Cette discussion est classé dans : entiers, tchaine, precision


Répondre à ce message

Sujets en rapport avec ce message

[C++] precision [ par kikiops ] comment faire pour avoir des resultats float avec deux decimalesj'vous donne un ch'tit exemple , ca sera plus simple pour m'faire comprendrefloat a = Aruthmétique sur grands entiers ??? [ par Cygnus ] J'ai à effectuer des opérations (+,-,'/,*) sur des grands nombres entiers (positifs et négatifs), tout en utilisant les fonctions membre de la classe Division de deux tableaux d'entiers [ par BenHur ] Bonjour, j'ai deux tableaux d'entiers dont chaque indice contient un nombre de 0 à 9. Je dois faire des opérations mathématiques sur chacun de ces ind manipulaton de trés grands entiers [ par Orkblutt ] Salut,j'aimerai implementer une classe qui me permettrai de manipuler (+,-, /,*,%) des grands nombres (Nb>32bits) mais je ne sais pas du tout comment Urgent...classe de manipulation de grands entiers [ par Orkblutt ] Salut,j'aimerai implementer une classe qui me permettrai de manipuler (+,-, /,*,%) des grands nombres (Nb>32bits) mais je ne sais pas du tout comment Somme d'entiers [ par PiraTmaT ] Bonjour,Je dispose d'une suite d'un certain nombre d'entiers aléatoires inférieurs ou égaux à 100.Je dois déterminer s'il est possible de regrouper un blindage de saisie [ par shomon ] Bonjourje souhaterai effectuer un blindage de saisie sur des entiers uniquement. Par exemple dans le code ci dessous :aff(" \nrentrez un numero entre Buffer avec WriteFile ??????????? [ par nanalye ] Bonjour tout le monde !J'ai regardé sur le forum ce qui était mis sur ce sujet mais je n'ai pas tout compris.Je dois envoyer des entiers par le biais Help me: grand nombres entiers [ par waza ] voila je suis en train de réaliser un programme de cryptage rsa mais le pb c ke je suis limiter a des entiers de 64 bits!! (avec __int64) et je me dem precision sur les dll [ par tcok ] salut a tousje voudrais comment s'utilise la declaration__declspec(dllimport)avec VC++.On la trouve par exemple dans string.h ou stdio.h.est-ce que ce


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.