IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Vérifier si une chaine contient une chaine


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 72
    Points : 58
    Points
    58
    Par défaut Vérifier si une chaine contient une chaine
    quelqu'un peut m'aider à élaborer cet algorithme????

    Ecrire un sous programme S_Chaine qui retourne vrai si une sous-chaine Sch est contenu dans une chaine Ch, faux sinon

  2. #2
    Membre éclairé Avatar de seeme
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    430
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 430
    Points : 791
    Points
    791
    Par défaut
    Bonjour,

    Tu as déjà fait quelque chose?
    Sur quoi tu bloques?

    Le principe est assez simple.. Une chaine contient une sous chaine si elle contient le premier caractère de la sous chaine, suivit du second, suivit du troisième....

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 72
    Points : 58
    Points
    58
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Fonction est_present(mot,texte : chaînes de caractères; i:Entier) : Booléen
    Var j,m : Entiers
    pareil : Booleen
    Debut
    	j <--0;
    	pareil <--  vrai;
    	m<--   long(mot);
    	pour (i de 0 à n-m-1) faire
    		TantQue (pareil ET j<m) Faire
    			Si (mot[j]=texte[i+j])
    			Alors j <-- j+1;
    			Sinon pareil <-- faux;
    			FinSi
    		Fin TantQue
    	fin pour
    	Renvoyer(pareil);
    Fin
    j'ai trouvé ce code merci bien. J'avais des problémes pour trouver les conditions d'arrêt et le choix des boucles

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour allomona, il me semble qu'il y a de petites corrections à faire pour que ton algo puisse fonctionner:

    Citation Envoyé par allomona Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Fonction est_present(mot,texte : chaînes de caractères; i:Entier) : Booléen
    Var j,m : Entiers
    pareil : Booleen
    Debut
    	j <--0;
    	pareil <--  vrai;
    	m<--   long(mot);
    	n<--   long(texte); // Juste pour préciser ce que représente la variable n ;)
    
    // n-m+1 et non pas n-m-1
    	pour (i de 0 à n-m+1) faire
    		pareil <-- true;// Lorsque tu relances ta boucle, tu dois reinitialiser ton booléen, sinon, il reste à faux jusque à la fin de la boucle "Pour"
    		TantQue (pareil ET j<m) Faire
    			Si (mot[j]=texte[i+j])
    			Alors j <-- j+1;
    			Sinon pareil <-- faux;
    			FinSi
    		Fin TantQue
    
    /* Si tu passes la boucle, soit ta variable pareil est à "faux", soit tu as trouvé ton mot entièrement, tu dois quitter la boucle, sinon, ta variable "pareil" revient à false par la suite */
    		Si (pareil) Faire
    		Alors i <-- n-m+1;
    		FinSi
    		j <-- 0;
    fin pour
    	Renvoyer(pareil);
    Fin
    j'ai trouvé ce code merci bien. J'avais des problémes pour trouver les conditions d'arrêt et le choix des boucles

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 72
    Points : 58
    Points
    58
    Par défaut merci
    vous avez raison merci bien pour la correction je vous suis reconnaissante

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo