A voir également:
- Rechercher une chaîne de caractère dans une autre chaîne de
- Rechercher ou entrer l'adresse - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractère ascii - Guide
- Plus de chaine tv - Guide
- Nouvelle chaîne tnt gratuite 2024 - Accueil - TV & Vidéo
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
29 avril 2014 à 17:48
29 avril 2014 à 17:48
Bonjour,
Déjà, faudrait commencer par clarifier l'énoncé :
le but est de comparer deux chaînes de caractère
le programme renvoie vrai si la chaîne 2 est comprise dans la chaîne 1
Donc que souhaites-tu ? Comparer deux chaînes (égalité des chaînes ou non) ou vérifier que l'une fait partie de l'autre (inclusion) ?
Cdlt,
Déjà, faudrait commencer par clarifier l'énoncé :
le but est de comparer deux chaînes de caractère
le programme renvoie vrai si la chaîne 2 est comprise dans la chaîne 1
Donc que souhaites-tu ? Comparer deux chaînes (égalité des chaînes ou non) ou vérifier que l'une fait partie de l'autre (inclusion) ?
Cdlt,
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
2 mai 2014 à 20:44
2 mai 2014 à 20:44
Donc dans ton programme, la fonction cmp() ne sert à rien. Il vaut mieux faire une fonction estInclus() dont le prototype serait :
Elle renverra 1 (true) si ch1 est inclus dans ch2, 0 (false) sinon.
Il faut donc plutôt tester : chaine1="def" et chaine2="adcdefgh" que 2 chaînes identiques.
Donc au début, tu testes les premières lettres de chacune des 2 chaînes :
"adcdefgh" avec "def" -> KO
"dcdefgh" avec "def" -> OK
"cdefgh" avec "ef" -> KO
"cdefgh" avec "def" -> KO
"defgh" avec "def" -> OK
"efgh" avec "ef" -> OK
"fgh" avec "f" -> OK (fin de chaîne).
Donc, "def" est bien compris dans "adcdefgh"
Si tu as compris le principe, tu devrais être en mesure de coder l'algorithme.
Cdlt,
int estInclus (const char * const ch1, const char *const ch2)
Elle renverra 1 (true) si ch1 est inclus dans ch2, 0 (false) sinon.
Il faut donc plutôt tester : chaine1="def" et chaine2="adcdefgh" que 2 chaînes identiques.
Donc au début, tu testes les premières lettres de chacune des 2 chaînes :
"adcdefgh" avec "def" -> KO
"dcdefgh" avec "def" -> OK
"cdefgh" avec "ef" -> KO
"cdefgh" avec "def" -> KO
"defgh" avec "def" -> OK
"efgh" avec "ef" -> OK
"fgh" avec "f" -> OK (fin de chaîne).
Donc, "def" est bien compris dans "adcdefgh"
Si tu as compris le principe, tu devrais être en mesure de coder l'algorithme.
Cdlt,