Algo : Ajouter un espace

slider16 -  
 slider16 -
bonjour, voilà je dois ajouter un espace après chaque point dans mon texte : je n'arrive pas trop, j'ai trouvé cela si quelqu'un peut m'aider:
saisir (texte)
Pour i de longueur(texte) à 1
Faire Si texte[i]="."
Alors texte[i+1]<-" "
FinSi
Merci beaucoup.

6 réponses

blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Salut,

attention, tel que tu l'as écrit, tu remplaces le caractère suivant par un espace mais tu n'ajoutes pas.

Si tu veux ajouter, il faut recréer une chaine en sortie, car sa longueur va changer et ta boucle ne sera plus valable (elle est bornée à la longueur initiale).

pour i de 1 a longueur(texte)
si texte(i) = '.' alors
    textesortie <- textesortie + '.' + ' '
sinon
    textesortie <- textesortie + texte(i)
finsi
finpour
texte <- textesortie

Mais on peut faire plus simple...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
Slider16
 
Merci à toi Blux pour ta réponde !!
0
JUJU
 
saisir (texte)
Pour i de longueur(texte) à 1
Faire Si texte[i]="."
Alors texte[i+1]<-" "
FinSi
j'ai regardé ton code et c'est pas une flèche qu'il faut mettre
Alors texte[i+1]=" "
essaye si ça marche c'est chouette !
0
blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Salut,

en algo, la flèche veut dire : 'prend pour valeur' (opérateur d'affectation) alors que 'égal' est un opérateur de comparaison (teste si deux termes sont identiques).

Dans la demande initiale, il est bien précisé que c'est de l'algo et non un pseudo-langage (mâtiné de C), d'où l'écriture...

Le problème n'est pas au niveau de la syntaxe, mais plutôt au niveau de la logique...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
juju > blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention  
 
bon je te prierai de ne pas me traiter de conne surtout que tu demandais de l'aide et que j'ai tenté de te donner un coup de pouce et que j'ai bossé pas mal sur le C alors ....
maintenant si t'envois chiet les gens qui t'apporte pas la solution je crois que t'es pas sur le bon site
0
le_dahu Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   51 > juju
 
Je ne connais pas blux personnellement, mais la, je crois que t'as rien compris de ce qu'il voulait dire :

1) Il ne t'a pas traite de conne : la phrase en bas, c'est une phrase qui apparait sur tous ses messages (regarde bien, tu verras...)

2) C'est pas lui qui demandait de l'aide, au contraire, c'est lui qui repondait au message...

3) Je trouves que vu les propos que tu tiens, ce n'est pas blux qui n'a rien a faire sur ce forum...

Sur ce, je te conseille de rester un peu plus zen a l'avenir (tu risque un ulcere avec ces betises)

Bonne journee quand meme...



Si à gauche j'ai l'amont, c'est bon...
Si à gauche j'ai l'aval, j'suis bancal...
0
blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention   3 359 > blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention  
 
Bonjour,

Je mets les choses au point :

- ma signature n'engage que moi, tant pis si tu la prends pour toi !
- JE n'ai pas demandé de l'aide, c'est slider16 qui est à l'origine du message
- tu as peut-être bossé sur le C, c'est très bien, mais la question était posée en algorithmique et non dans un langage formel, d'où ma réponse par rapport à l'opérateur d'affectation vs l'opérateur de comparaison...
- dernière chose : je suis sur le bon site, mais je crois que tu n'as pas assez regardé où tu mettais les pieds avant de t'emporter...

Bien amicalement :-)

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
Mohammed
 
salut,
nous aurons besoin d'une 2ème chaîne(ch) car si tu fais texte[i+1]=' ' là alors tu vas écraser la lettre qui vien juste après le point, donc :
j=0
pour i=1 jusqu'à taille(texte) faire
début
j=j+1
ch[j]=texte[i]
si texte[i]='.' alors
début
j=j+1
ch[j]=' '
Fsi
i=i+1
Fpour
Bon courage.
Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mOHAMED
 
salut,
nous aurons besoin d'une 2ème chaîne(ch) car si tu fais
texte[i+1]<---' ' là alors tu vas écraser la lettre qui vien juste après le point, donc :
j<--0
pour i=1 jusqu'à taille(texte) faire
début
j<--j+1
ch[j]<--texte[i]
si texte[i]='.' alors
début
j<--j+1
ch[j]<--' '
Fsi
i<--i+1
Fpour
Bon courage.
Merci.
0
slider16
 
merci à vous tous pour vos messages !!
0