[C] chaine

Fermé
lola - 20 janv. 2008 à 17:02
Ngtb Messages postés 3 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 9 mai 2008 - 21 janv. 2008 à 13:57
Bonjour,

comment enlever les blanc en plus en C dans une chaine de caractère?
si un utilisateur entre une phrase et met des espaces en trop, le programme doit enlevé les blancs!!
on peut m'aider car je ne vois pas coment m'y prendre!

merci
A voir également:

3 réponses

Ngtb Messages postés 3 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 9 mai 2008
20 janv. 2008 à 17:34
Si comme je le suppose tu veux alléger une chaîne de ses doubles espaces, tu dois jouer sur la valeur ASCII de tes caractères.
Crée une chaîne tampon
TQ tu n'as pas parcouru ta chaîne de caractères
SI c'est un caractère désiré concatène ta chaîne tampon et ce caractère dans ta chaîne tampon.
FSI
FTQ

Mais dis-moi, c'est un problème typique de début de DUT voire de BTS Informatique. Tu peux facilement trouver une solution. Essaie maintenant, parce que quand tu vas passer à un autre problème typique de programmation comme la multiplication des Très Longs Entiers (entiers de plus de 150 chiffres) entre eux, tu risques de te retrouver sans réponse : personne ne pourras te donner un coup de main sur un site généraliste et les programmeurs des sites spécialisés ne se donneront pas la peine de répondre à ta demande.
0
jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 32
20 janv. 2008 à 19:37
salut.
Et si tu fesait un for sur chaque caractère de ta chaine. Lorsque tu aura un espace, tu décrementera d'un élément sur ton tableau de char.
ça devrait marcher

for (i = j = 0; nom[i] != '\0'; ++i)
{
if (nom[i] ==' ')
nom[++j] = nom[i]
}
nom[j] = '\0';

J'ai fait ça a la louche comme j'ai un pb aussi comme toi mais j'pens eque ça devrait passer.
0
Ngtb Messages postés 3 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 9 mai 2008
21 janv. 2008 à 13:57
J'avais cru comprendre qu'il s'agissait de dégager les espaces surnuméraires ?
0