Création d'un fonction sous algobox
Résolu
Mika
-
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
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:
- Fonction algobox
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
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?
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
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
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...
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...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
Oui, c'est la raison de ma venue ici ... J'ai demandé a ce qu'on puisse m'aider :)
Je devrais avoir pour résultat : "Bnjur" si pour rep1 je choisis "bonjour" et rep2 "o"
As tu une idée ?