Création d'un fonction sous algobox

Résolu
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

5 réponses

  1. Contributeur Ambassadeur
    bonjour, as-tu une question?
    0
    1. Bonjour,

      Oui, c'est la raison de ma venue ici ... J'ai demandé a ce qu'on puisse m'aider :)
      0
    2. Contributeur Ambassadeur
      @Mikale code que tu présentes ne fonctionne pas? qu'observes-tu?
      0
    3. @yg_beIl 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
    4. Contributeur Ambassadeur
      @Mikapeut-être
      resultat PREND_LA_VALEUR PurgeSimple(rep1,rep2)
      0
    5. @yg_beJ'avais essayé mais j'ai une erreur a la ligne 14 au niveau du "FIN POUR"
      0
  2. 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
    1. Contributeur Ambassadeur
      qu'as-tu testé? qu'affiche-t'il?
      0
    2. @yg_beLe 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
    3. Contributeur Ambassadeur
      @Mikaavec 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
  3. 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
    1. C'est bon ! Le afficher "sortie" était mal placé ! ouf !
      0
      1. 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