Chercher si une chaine existe dans une autre
kaoutherification
-
kaoutherification -
kaoutherification -
Bonjour,
Svp aider moi à écrire une fonction s_chaine (en algorithmique) qui retourne vrai si une sous-chaine Sch est contenue dans une chaine Ch, faux sinon et ça sans utliliser la fonction prédifinie pos(ch1,ch2).
merci d'avance.
Svp aider moi à écrire une fonction s_chaine (en algorithmique) qui retourne vrai si une sous-chaine Sch est contenue dans une chaine Ch, faux sinon et ça sans utliliser la fonction prédifinie pos(ch1,ch2).
merci d'avance.
A voir également:
- Chercher si une chaine existe dans une autre
- Chaine tnt gratuite sur mobile - Guide
- Gmail.fr existe - Forum Gmail
- Chaine radio - Télécharger - Médias et Actualité
- Plus de chaine tv - Guide
- 94 degrés n'existe plus - Télécharger - Divers Jeux
tu cherche une chaine dans une autre, donc si tu remplace la chaine cherchée par autre chose dans la première chaine, elle n'y est plus.
du coup : soit elle y était au départ => la première chaine est différente de la modifiée
soit elle n'y était pas => on n'a rien changé à la première chaine, du coup les deux chaines sont identiques
aprés, tu peux faire ça plus basiquement et moins efficacement en explosant ta chaine cherchée, puis en parcourant la chaine à la recherche des lettres de la chaine cherchée.
si t'en as vraiment besoin, je te montre comment faire, mais si tu peux t'en passer, ça m'arrange ;)
Fonction s_chaine(ch,sch:chaine):booléen
variables
i,j:entier
trouve:booléen
Début
i<--1
J<--1
trouve<--faux
Tantque(i<=long(ch)) et(trouve=faux) faire
Tantque(j<=long(sch)) faire
si (sch[j]=ch[i]) alors
i<-i+1
j<-j+1
trouve<-vrai
sinon
i<-i+1
trouve<-faux
finsi
FinTQ
j<-1
FinTQ
s_chaine<-trouve
Fin
tant pis, je t'en fait un, tu comparera...
$a = "chaine originale" $b = "ce qu'on cherche" $n = 1 tant qu'il y a des caractères { lire le caractère $n de $b et le stoker dans $t[$n] $n ++ } $c = 0 $z = 1 tant qu'il y a des caractères { lire le caractère $c + de $z et le stoker dans $r si $r = $t[$z] { tant que $r = $t[$z] si $z == $n { retourner "vrai" } $z ++ lire le caractère $c + $z de $a et le stoker dans $r } $z = 0 $c ++ }voilà, ça te donne un truc du genre :)
merci bcp