Création d'un fonction sous algobox

Résolu
Mika -  
 Mika -
Bonjour,

Je cherche à mettre en place un algorithme permettant d'écrire une fonction qui purge une chaîne d'un caractère, la chaîne comme le caractère étant passés en argument.
Si le caractère spécifié ne fait pas partie de la chaîne, celle-ci devra être retournée intacte.
Par exemple :

Purge("Bonjour","o") renverra "Bnjur"
Purge("J'ai horreur des espaces"," ") renverra "J'aihorreurdesespaces"
Purge("Moi, je m'en fous", "y") renverra "Moi, je m'en fous"

Si qqun pouvait m'aider assez rapidement svp :)

Voici mon code :

FONCTIONS_UTILISEES
FONCTION PurgeSimple(a,b)
VARIABLES_FONCTION
Sortie EST_DU_TYPE CHAINE
i EST_DU_TYPE NOMBRE
DEBUT_FONCTION
Sortie PREND_LA_VALEUR " "
POUR i ALLANT_DE 1 A a.length
DEBUT_POUR
SI (a.substr(i,1)!=b) ALORS
DEBUT_SI
Sortie PREND_LA_VALEUR Sortie & a.substr(i,1)
FIN_SI
FIN_POUR
RENVOYER Sortie
FIN_FONCTION
VARIABLES
rep1 EST_DU_TYPE CHAINE
rep2 EST_DU_TYPE CHAINE
DEBUT_ALGORITHME
LIRE rep1
LIRE rep2
FIN_ALGORITHME



Configuration: Windows / Firefox 75.0
A voir également:

5 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, as-tu une question?
0
Mika
 
Bonjour,

Oui, c'est la raison de ma venue ici ... J'ai demandé a ce qu'on puisse m'aider :)
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Mika
 
le code que tu présentes ne fonctionne pas? qu'observes-tu?
0
Mika > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Il tourne cependant il ne me renvoie rien ... je ne maitrise pas les fonctions, du coup je sais qu'il faut l'appeler pour "l'utiliser" néanmoins je ne sais pas comment :/
Je devrais avoir pour résultat : "Bnjur" si pour rep1 je choisis "bonjour" et rep2 "o"

As tu une idée ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Mika
 
peut-être
resultat PREND_LA_VALEUR PurgeSimple(rep1,rep2)
0
Mika > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
J'avais essayé mais j'ai une erreur a la ligne 14 au niveau du "FIN POUR"
0
Mika
 
Du coup j'ai laissé la notion de "fonction" de coté et j'ai tapé ce code qui tourne mieux, néanmoins qui n'affiche pas correctement le résultat (voir au dessus dans l'énoncé) attendu :

FONCTIONS_UTILISEES
VARIABLES
i EST_DU_TYPE NOMBRE
a EST_DU_TYPE CHAINE
b EST_DU_TYPE CHAINE
sortie EST_DU_TYPE CHAINE
DEBUT_ALGORITHME
sortie PREND_LA_VALEUR " "
AFFICHER* "Saisir votre mot ou votre phrase : "
LIRE a
AFFICHER* "Saisir le caractère à supprimer : "
LIRE b
POUR i ALLANT_DE 1 A a.length+1
DEBUT_POUR
SI (a.substr(i,1) != b) ALORS
DEBUT_SI
sortie PREND_LA_VALEUR sortie && a.substr(i,1)
FIN_SI
AFFICHER sortie
FIN_POUR
FIN_ALGORITHME
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
qu'as-tu testé? qu'affiche-t'il?
0
Mika > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Le code ci dessus !
Cela supprime bien le caractere choisi par l'utilisateur, mais rajoute une lettre a la place du caractere supprimé.

As tu essayé sur algobox ou tu le fais de tete ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Mika
 
avec quelles données as-tu essayé et qu'as-tu obtenu?
quelle lettre est rajoutée?

je n'essaie pas moi-même, ce n'est pas utile pour t'aider à te poser les bonnes questions et à trouver toi-même les solutions. c'est toi qui veux apprendre et progresser, pas moi.
0
Mika
 
Je suis d'accord et merci de vouloir me faire progresser, simplement j'ai l'impression que tu n'as pas la réponse ..
Du coup, lorsque je lance l'algo pour cette expression :
"coucou ca va" et que je demande de retirer le caractere " ", j'obtiens :
coucouucaava

Je remarque donc que l'algo ajoute la dernière lettre du mot "coucou" et "ca".

C'est valable également sur "coucou ca va toi" j'obtiens "coucouucaavaatoi".

Sur un mot, par exemple "bonjour" j'obtiens "boojour" en supprimant le "n".

Conclusion : le caractere supprimé est remplacé par le caractère qui est à sa gauche.

J'ai beau chercher, je ne trouve pas comment régler cela. J'ai pensé à ajouter une condition "sinon" puisque je n'en ai pas, cependant je n'ai pas trouvé quoi mettre...
0
Mika
 
C'est bon ! Le afficher "sortie" était mal placé ! ouf !
0

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

Posez votre question
Mika
 
Si qqun a un jour besoin, voici le code :

FONCTIONS_UTILISEES
VARIABLES
i EST_DU_TYPE NOMBRE
a EST_DU_TYPE CHAINE
b EST_DU_TYPE CHAINE
sortie EST_DU_TYPE CHAINE
DEBUT_ALGORITHME
AFFICHER* "Saisir votre mot ou votre phrase : "
LIRE a
AFFICHER* "Saisir le caractère à supprimer : "
LIRE b
sortie PREND_LA_VALEUR " "
POUR i ALLANT_DE 0 A a.length
DEBUT_POUR
SI (a.substr(i,1) != b) ALORS
DEBUT_SI
sortie PREND_LA_VALEUR sortie && a.substr(i,1)
AFFICHER sortie
FIN_SI
FIN_POUR
FIN_ALGORITHME
0