bonjours a tous
j'ai plusieur variables du genre: 001 002 032 030 056 120 026
toujours avec 3 chiffres
mon but etant de leur enlever les 0 inutiles!!!!!!!
on aura donc 1 2 32 30 56 120 26!!
alors voila si quelqu'un a une idee !!
merci
bonjours a tous
j'ai plusieur variables du genre: 001 002 032 030 056 120 026
toujours avec 3 chiffres
mon but etant de leur enlever les 0 inutiles!!!!!!!
on aura donc 1 2 32 30 56 120 26!!
alors voila si quelqu'un a une idee !!
merci
printf ( "%d", .. )
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".
Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java
Je ne réponds pas aux MP techniques
Salut acik59,
Y a un petit "truc", dans ton exemple tu veu virer les "0",
le souci sera de lui indiquer comment garder le "0" de "30", tu dispose de séparateur entre tes valeurs ? (";" ou " " par exemple),
si oui tu dispose d'une fonction qui te permettra d'extraire les valeurs voulues, jette un oeil à la FAC, normalement tu devrais trouver ce que tu cherche.
Voila
mes valeurs sont separer par un passage a la ligne!!
001
002
003
015
....
..
je peut les traiter un par un j'ai cree une fonction pour!!
cependant je n'est pas d'idee sur le faite de retirer les 0
est ce q'un calcul matheu ferait l'affaire(je sais pas)!
ou il y existe comme d'autre language (exemple tcl) l'utilisation d'expression reguliere qui font l'affaire!!
Donc si je récapitule tu as des valeurs dans un fichier et tu veux enlever les 0 devant.
Mais où ? Dans le fichier ? Tu veux faire quoi avec ces chiffres. Si tu les mets dans des int les 0 sont plus là.
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
est ce que l'on pourrait faire un truc du genre!!
si (variable<100)
on ne garde que les dizaine et unite
si(variable<10)
on ne garde que les unite
si(variable==0)
on a rien("")
ben en faite je recupere ces valeurs dans une variables char que je ne peut mettre en int (trop compliquer pour explique)
char * tu veux dire.Envoyé par acik59
Tu as la possibilité de décaler vers le gauche tant que le premier chiffre est un 0, ou bien de convertir en int pour de remettre dans ton char *.
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
Envoyé par acik59
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 void shift_left(char *string) { size_t i = 0; for(i = 0; i < strlen(string); i++) { string[i] = string[i+1]; } } [...] char chiffre[100] = "00010"; while(chiffre[i] == '0') { shift_left(chiffre); }
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
enfin si la simplicité vous déplaît...Envoyé par souviron34
euh merci pour le code
mais ca ne marche pas
erreur de segmentation
je sais pas si tu as essayer le code
mais je n'est pas parler d'afficher(printf)
c'est des nombres que je gardes dans une variable chainee!!
OupsssEnvoyé par acik59
Remplace chiffre[i] par chiffre[0]
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
eh bienmais je n'est pas parler d'afficher(printf)
Code : Sélectionner tout - Visualiser dans une fenêtre à part sprintf(chaine_finale,"%d",atoi(chaine_orig));
C'est aussi ce que j'ai proposé.Envoyé par josse95
strtol à la place de atoi.
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
j'aime bien ta solution du sprintf
je sais que ca marche normalement mais dans ton exemple ca ne marche pas
j'ai essayer de le rectifier
erreur de segmentation
Si tu as une erreur de segmentation sur le sprintf c'est que tu n'as pas alloué de mémoire pour chaine_orig (le 1er paramètre du sprintf).
Poste ton code si tu veux qu'on regarde ...
chaine_finale plutot.Envoyé par josse95
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager